{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "00962cc9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "import math"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45f95e1b",
   "metadata": {},
   "source": [
    "数据处理部分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "830c7214",
   "metadata": {},
   "outputs": [],
   "source": [
    "#选择原始数据中的一部分\n",
    "df=pd.read_csv('E:/推荐系统/数据集/MovieLens/ml-latest/ratings.csv')\n",
    "df_copy1=df.copy()     #正负反馈皆有\n",
    "df_copy2=df.copy()      \n",
    "df_copy2=df_copy1[df_copy1['rating']>2.9]     #只有正反馈\n",
    "df=df_copy2.iloc[:50000].sample(frac=1,random_state=1)[['userId','movieId']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9869b497",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据集中的电影部数：7142\n",
      "数据集中的用户数：597\n",
      "训练集中的电影部数：6560\n",
      "训练集中的用户数：595\n"
     ]
    }
   ],
   "source": [
    "#划分训练集、测试集\n",
    "proportion=0.8\n",
    "train=df.iloc[0:int(proportion*df.shape[0])]\n",
    "test=df.iloc[int(proportion*df.shape[0]):]\n",
    "\n",
    "print(\"数据集中的电影部数：%d\"%len(df['movieId'].unique()))\n",
    "print(\"数据集中的用户数：%d\"%len(df['userId'].unique()))\n",
    "print(\"训练集中的电影部数：%d\"%len(train['movieId'].unique()))\n",
    "print(\"训练集中的用户数：%d\"%len(train['userId'].unique()))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f7972d7",
   "metadata": {},
   "source": [
    "定义使用到的函数，获得中间量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "24a658dd",
   "metadata": {},
   "outputs": [],
   "source": [
    "#物品相似度矩阵计算函数：\n",
    "def items_relevance_matrix(train):\n",
    "    C={}\n",
    "    N={}\n",
    "    i=0\n",
    "    for userId, result in train.groupby('userId'):  #依照用户划分行为数据集\n",
    "        result=pd.DataFrame(result.reset_index(drop=True))\n",
    "        for j in range(result.shape[0]):\n",
    "            movie1=result.iloc[j]['movieId']\n",
    "            if movie1 not in N:\n",
    "                N[movie1]=0\n",
    "            N[movie1]+=1\n",
    "            for k in range(j+1,result.shape[0]):\n",
    "                movie2=result.iloc[k]['movieId']\n",
    "\n",
    "                if movie2==movie1:\n",
    "                    continue\n",
    "                else:\n",
    "                    if (movie1,movie2) not in C:\n",
    "                        C[movie1,movie2]=0\n",
    "                    if (movie2,movie1) not in C:\n",
    "                        C[movie2,movie1]=0\n",
    "                    C[movie1,movie2]+=1\n",
    "                    C[movie2,movie1]+=1\n",
    "    W={}\n",
    "    for key in C:\n",
    "        Ni=N[key[0]]\n",
    "        Nj=N[key[1]]\n",
    "        W[key]=C[key]/(math.sqrt(Ni)*math.sqrt(Nj))\n",
    "        \n",
    "    #得到具有相似度的每一对物品及它们的相似度，将字典形式的W变为DataFrame形式，方便后面检索,df_W[df_W['item1']==movieId]相当于W的对应movieId的哪一行\n",
    "    item1_lst=[]\n",
    "    item2_lst=[]\n",
    "    for key in W.keys():\n",
    "        item1_lst.append(key[0])\n",
    "        item2_lst.append(key[1])\n",
    "    df_W=pd.DataFrame({\n",
    "                        'item1':item1_lst,\n",
    "                        'item2':item2_lst,\n",
    "                        'relevance':W.values()    \n",
    "                        })   \n",
    "    return df_W"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "3a066c4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "#获取物品相似度\n",
    "#df_W=items_relevance_matrix(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "74c489d3",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_W=pd.read_csv('E:/推荐系统/代码/中间量/Item_based-CF.csv')\n",
    "#df_W.to_csv('E:/推荐系统/代码/中间量/Item_based-CF.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "791a3000",
   "metadata": {},
   "outputs": [],
   "source": [
    "#物品流行度计算函数：\n",
    "def items_popularity(train):\n",
    "    train_copy=train.copy()\n",
    "    train_copy['popularity']=1\n",
    "    df_movie_popularity=train_copy.groupby('movieId').agg('sum').reset_index()\n",
    "    df_movie_popularity=df_movie_popularity[['movieId','popularity']]\n",
    "    df_movie_popularity\n",
    "    return df_movie_popularity\n",
    "#计算物品流行度，主要为了后面计算推荐名单结果的流行度\n",
    "df_movie_popularity=items_popularity(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "b9fc92ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "#评价指标函数：\n",
    "def Popularity_func(item1,df_movie_popularity):\n",
    "    popularity=0\n",
    "    n=0\n",
    "    for item in item1:\n",
    "        popularity=popularity+df_movie_popularity[df_movie_popularity['movieId']==item]['popularity'].values[0]\n",
    "        n+=1\n",
    "    return popularity/n\n",
    "def Recall_func(item1,item2):\n",
    "    return len( list(set(item1).intersection(set(item2))) )/len(item2)\n",
    "def Precision_func(item1,item2):\n",
    "    return len( list(set(item1).intersection(set(item2))) )/len(item1)\n",
    "def Coverage_func(item1,item2):\n",
    "    return len(item1)/len(train['movieId'].unique())\n",
    "\n",
    "#基于物品相似度得到给定物品的K近邻\n",
    "def get_Kneighbors(df_item_W,K):\n",
    "    '''\n",
    "    df_item_W为给定物品的df_W部分，df_W为训练集中物品的相似度矩阵，所以df_item_W为物品与其他物品的相似度\n",
    "    '''\n",
    "    relevance=list(df_item_W['relevance'])\n",
    "    index=np.argsort(relevance)[-K:]\n",
    "    \n",
    "    #返回前K个最相似的物品的名称和具体的相似度\n",
    "    return list(df_item_W.iloc[index]['item2']),list(df_item_W.iloc[index]['relevance'])\n",
    "\n",
    "#基于目标用户关于训练集未交互过的物品的感兴趣程度的字典rank，给出前K2个最感兴趣的物品作为推荐名单\n",
    "def getTopK(rank,K):\n",
    "    '''\n",
    "    rank存储对物品的感兴趣程度，将根据感兴趣程度选择前K个最感兴趣的返回\n",
    "    '''\n",
    "    if len(rank.values())<=K:\n",
    "        K_item1=list(rank.keys())\n",
    "    \n",
    "    else:\n",
    "        rank_keys=list(rank.keys())\n",
    "        rank_values=list(rank.values())\n",
    "        index=list(np.argsort(rank_values)[-K:])\n",
    "        K_item1=[]\n",
    "        for i in range(len(index)):\n",
    "            K_item1.append(rank_keys[index[i]])     \n",
    "    return K_item1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "id": "c2382f86",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "测试集用户共548个\n"
     ]
    }
   ],
   "source": [
    "print(\"测试集用户共%d个\"%len(test['userId'].unique()))\n",
    "test_user_number=len(test['userId'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "id": "95777a63",
   "metadata": {},
   "outputs": [],
   "source": [
    "#计算用户对物品的偏好（感兴趣程度），计算的是每个用户对每个物品的偏好\n",
    "def user_item_preference(train,df_W,K):\n",
    "    Preference={}\n",
    "    count=0\n",
    "    for item in train['movieId'].unique():\n",
    "        df_train_item_W=df_W[df_W['item1']==item]\n",
    "        item_Kneighbors,item_relevance=get_Kneighbors(df_train_item_W,K)\n",
    "        \n",
    "        for user in train['userId'].unique():\n",
    "            train_items_user=set(train[train['userId']==user]['movieId'])\n",
    "            intersection_set=train_items_user.intersection(set(item_Kneighbors)) #根据这个交集，计算user对item的感兴趣程度\n",
    "            if len(intersection_set)==0:\n",
    "                #print(\"用户：%d对物品%d不感兴趣\"%(user,item))\n",
    "                continue\n",
    "            if (user,item) not in Preference:\n",
    "                Preference[user,item]=0\n",
    "            for i in intersection_set:\n",
    "                Preference[user,item]+=df_train_item_W[df_train_item_W['item2']==i]['relevance'].values[0]\n",
    "        count+=1\n",
    "        print(count)\n",
    "    return Preference"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "id": "6ff0ad40",
   "metadata": {},
   "outputs": [],
   "source": [
    "#Preference=user_item_preference(train,df_W,100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "id": "84c85a55",
   "metadata": {},
   "outputs": [],
   "source": [
    "#np.save('E:/推荐系统/代码/中间量/Item-based-CF_Preference.npy',Preference)\n",
    "#Preference=np.load('E:/推荐系统/代码/中间量/Item-based-CF_Preference.npy',allow_pickle=True).item()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1cc51832",
   "metadata": {},
   "source": [
    "预测部分"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e84bb3c",
   "metadata": {},
   "source": [
    "重要的参数有：\n",
    "\n",
    "1.计算用户对物品的感兴趣程度时，需要计算物品的K近邻的K值。\n",
    "K值很小时，K近邻集合与用户交互物品集合可能为空，导致用户对很多物品不感兴趣，推荐精度降低。\n",
    "K值理论上越大越好，K越大计算的感兴趣程度越准确，但会带来计算负担。实际上最耗时间的就是计算Preference。\n",
    "\n",
    "2.在预测时，首先需要找到每个测试集用户在训练集中交互过的每个物品的K近邻，然后得到对这些K近邻并集中的物品的感兴趣程度，然后进行排序推荐。\n",
    "（所以提前计算Preference的原因就在于，可以直接获取用户对每个物品的兴趣，而不是预测时现场计算）这里的K需要确定。\n",
    "理论上依然是K越大越好，K越大说明待选的推荐物品越多，因为是在这些K近邻并集中挑选推荐物品。\n",
    "实际操作时发现K的增大不会带来很大的计算负担，因为带来的计算量只是对rank排序，Preference已经计算完毕的前提下，不会很慢。但考虑到平均每个用户训练集交互60个物品，训练集共6000物品左右，所以K取100应该就能大体覆盖所有物品，即考虑到用户对所有物品的感兴趣程度。\n",
    "\n",
    "3.对rank排序后，挑选前K个进行推荐，这里的K就是推荐名单item1的大小。一般K越大，recall越大，precision越小。\n",
    "\n",
    "上述三个K中，第一个K对计算速度影响最大，也对推荐准确度等方面有巨大影响。\n",
    "第三个K会对recall和precision的权衡带来影响。\n",
    "\n",
    "大概十分钟预测完毕"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "id": "71653971",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：1\n",
      "当前精确率为：0.000000\n",
      "当前召回率为：0.000000\n",
      "当前流行度为：14.500000\n",
      "当前覆盖率为：0.006098\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：2\n",
      "当前精确率为：0.012500\n",
      "当前召回率为：0.125000\n",
      "当前流行度为：12.387500\n",
      "当前覆盖率为：0.011738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：3\n",
      "当前精确率为：0.008333\n",
      "当前召回率为：0.083333\n",
      "当前流行度为：29.200000\n",
      "当前覆盖率为：0.017835\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：4\n",
      "当前精确率为：0.156250\n",
      "当前召回率为：0.119104\n",
      "当前流行度为：37.168750\n",
      "当前覆盖率为：0.022866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：5\n",
      "当前精确率为：0.160000\n",
      "当前召回率为：0.182783\n",
      "当前流行度为：41.595000\n",
      "当前覆盖率为：0.027134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：6\n",
      "当前精确率为：0.150000\n",
      "当前召回率为：0.235653\n",
      "当前流行度为：43.958333\n",
      "当前覆盖率为：0.032470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：7\n",
      "当前精确率为：0.128571\n",
      "当前召回率为：0.201988\n",
      "当前流行度为：38.085714\n",
      "当前覆盖率为：0.037348\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：8\n",
      "当前精确率为：0.112500\n",
      "当前召回率为：0.176739\n",
      "当前流行度为：37.243750\n",
      "当前覆盖率为：0.042073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：9\n",
      "当前精确率为：0.119444\n",
      "当前召回率为：0.200312\n",
      "当前流行度为：40.825000\n",
      "当前覆盖率为：0.044055\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：10\n",
      "当前精确率为：0.110000\n",
      "当前召回率为：0.280280\n",
      "当前流行度为：40.170000\n",
      "当前覆盖率为：0.047866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：11\n",
      "当前精确率为：0.102273\n",
      "当前召回率为：0.269952\n",
      "当前流行度为：38.347727\n",
      "当前覆盖率为：0.050915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：12\n",
      "当前精确率为：0.114583\n",
      "当前召回率为：0.268289\n",
      "当前流行度为：39.497917\n",
      "当前覆盖率为：0.054421\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：13\n",
      "当前精确率为：0.119231\n",
      "当前召回率为：0.268362\n",
      "当前流行度为：41.013462\n",
      "当前覆盖率为：0.056402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：14\n",
      "当前精确率为：0.117857\n",
      "当前召回率为：0.277764\n",
      "当前流行度为：41.503571\n",
      "当前覆盖率为：0.058689\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：15\n",
      "当前精确率为：0.111667\n",
      "当前召回率为：0.325913\n",
      "当前流行度为：43.421667\n",
      "当前覆盖率为：0.059451\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：16\n",
      "当前精确率为：0.123437\n",
      "当前召回率为：0.347211\n",
      "当前流行度为：43.278125\n",
      "当前覆盖率为：0.061585\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：17\n",
      "当前精确率为：0.123529\n",
      "当前召回率为：0.334328\n",
      "当前流行度为：43.891176\n",
      "当前覆盖率为：0.062195\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：18\n",
      "当前精确率为：0.116667\n",
      "当前召回率为：0.315754\n",
      "当前流行度为：42.379167\n",
      "当前覆盖率为：0.067530\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：19\n",
      "当前精确率为：0.110526\n",
      "当前召回率为：0.299135\n",
      "当前流行度为：42.375000\n",
      "当前覆盖率为：0.070732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：20\n",
      "当前精确率为：0.106250\n",
      "当前召回率为：0.334179\n",
      "当前流行度为：41.067500\n",
      "当前覆盖率为：0.074695\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：21\n",
      "当前精确率为：0.104762\n",
      "当前召回率为：0.346837\n",
      "当前流行度为：42.753571\n",
      "当前覆盖率为：0.075152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：22\n",
      "当前精确率为：0.109091\n",
      "当前召回率为：0.343611\n",
      "当前流行度为：43.146591\n",
      "当前覆盖率为：0.076524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：23\n",
      "当前精确率为：0.106522\n",
      "当前召回率为：0.357657\n",
      "当前流行度为：44.784783\n",
      "当前覆盖率为：0.076829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：24\n",
      "当前精确率为：0.106250\n",
      "当前召回率为：0.376088\n",
      "当前流行度为：46.102083\n",
      "当前覆盖率为：0.076982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：25\n",
      "当前精确率为：0.102000\n",
      "当前召回率为：0.361044\n",
      "当前流行度为：45.391000\n",
      "当前覆盖率为：0.081555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：26\n",
      "当前精确率为：0.103846\n",
      "当前召回率为：0.360732\n",
      "当前流行度为：46.327885\n",
      "当前覆盖率为：0.081860\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：27\n",
      "当前精确率为：0.102778\n",
      "当前召回率为：0.384409\n",
      "当前流行度为：47.624074\n",
      "当前覆盖率为：0.082012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：28\n",
      "当前精确率为：0.100893\n",
      "当前召回率为：0.378617\n",
      "当前流行度为：48.146429\n",
      "当前覆盖率为：0.082622\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：29\n",
      "当前精确率为：0.098276\n",
      "当前召回率为：0.369009\n",
      "当前流行度为：49.078448\n",
      "当前覆盖率为：0.082927\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：30\n",
      "当前精确率为：0.100833\n",
      "当前召回率为：0.370434\n",
      "当前流行度为：49.589167\n",
      "当前覆盖率为：0.083384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：31\n",
      "当前精确率为：0.098387\n",
      "当前召回率为：0.361711\n",
      "当前流行度为：49.567742\n",
      "当前覆盖率为：0.083994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：32\n",
      "当前精确率为：0.098437\n",
      "当前召回率为：0.356986\n",
      "当前流行度为：50.279687\n",
      "当前覆盖率为：0.083994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：33\n",
      "当前精确率为：0.099242\n",
      "当前召回率为：0.355081\n",
      "当前流行度为：50.893939\n",
      "当前覆盖率为：0.083994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：34\n",
      "当前精确率为：0.096324\n",
      "当前召回率为：0.344637\n",
      "当前流行度为：51.986765\n",
      "当前覆盖率为：0.083994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：35\n",
      "当前精确率为：0.093571\n",
      "当前召回率为：0.334791\n",
      "当前流行度为：50.571905\n",
      "当前覆盖率为：0.085976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：36\n",
      "当前精确率为：0.102083\n",
      "当前召回率为：0.333721\n",
      "当前流行度为：51.033102\n",
      "当前覆盖率为：0.086128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：37\n",
      "当前精确率为：0.104730\n",
      "当前召回率为：0.329114\n",
      "当前流行度为：51.592342\n",
      "当前覆盖率为：0.086280\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：38\n",
      "当前精确率为：0.104605\n",
      "当前召回率为：0.327972\n",
      "当前流行度为：51.697149\n",
      "当前覆盖率为：0.087652\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：39\n",
      "当前精确率为：0.104487\n",
      "当前召回率为：0.324022\n",
      "当前流行度为：52.306838\n",
      "当前覆盖率为：0.087652\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：40\n",
      "当前精确率为：0.106875\n",
      "当前召回率为：0.321804\n",
      "当前流行度为：52.544167\n",
      "当前覆盖率为：0.088110\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：41\n",
      "当前精确率为：0.110976\n",
      "当前召回率为：0.321621\n",
      "当前流行度为：52.775407\n",
      "当前覆盖率为：0.088567\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：42\n",
      "当前精确率为：0.108333\n",
      "当前召回率为：0.313963\n",
      "当前流行度为：51.924206\n",
      "当前覆盖率为：0.092226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：43\n",
      "当前精确率为：0.106395\n",
      "当前召回率为：0.318289\n",
      "当前流行度为：51.937597\n",
      "当前覆盖率为：0.092378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：44\n",
      "当前精确率为：0.108523\n",
      "当前召回率为：0.313581\n",
      "当前流行度为：52.099811\n",
      "当前覆盖率为：0.092683\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：45\n",
      "当前精确率为：0.106667\n",
      "当前召回率为：0.309390\n",
      "当前流行度为：52.814815\n",
      "当前覆盖率为：0.092835\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：46\n",
      "当前精确率为：0.108152\n",
      "当前召回率为：0.309280\n",
      "当前流行度为：52.862862\n",
      "当前覆盖率为：0.093140\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：47\n",
      "当前精确率为：0.106915\n",
      "当前召回率为：0.311211\n",
      "当前流行度为：52.571631\n",
      "当前覆盖率为：0.095122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：48\n",
      "当前精确率为：0.110417\n",
      "当前召回率为：0.309603\n",
      "当前流行度为：52.963368\n",
      "当前覆盖率为：0.095122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：49\n",
      "当前精确率为：0.112245\n",
      "当前召回率为：0.305584\n",
      "当前流行度为：53.233503\n",
      "当前覆盖率为：0.095122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：50\n",
      "当前精确率为：0.111000\n",
      "当前召回率为：0.309472\n",
      "当前流行度为：53.784333\n",
      "当前覆盖率为：0.095122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：51\n",
      "当前精确率为：0.109804\n",
      "当前召回率为：0.316476\n",
      "当前流行度为：53.956699\n",
      "当前覆盖率为：0.095122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：52\n",
      "当前精确率为：0.111058\n",
      "当前召回率为：0.320745\n",
      "当前流行度为：53.859936\n",
      "当前覆盖率为：0.095884\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：53\n",
      "当前精确率为：0.111792\n",
      "当前召回率为：0.322241\n",
      "当前流行度为：53.701730\n",
      "当前覆盖率为：0.096189\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：54\n",
      "当前精确率为：0.109722\n",
      "当前召回率为：0.316273\n",
      "当前流行度为：53.323920\n",
      "当前覆盖率为：0.098476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：55\n",
      "当前精确率为：0.108636\n",
      "当前召回率为：0.316583\n",
      "当前流行度为：53.826667\n",
      "当前覆盖率为：0.098476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：56\n",
      "当前精确率为：0.107143\n",
      "当前召回率为：0.316882\n",
      "当前流行度为：54.031101\n",
      "当前覆盖率为：0.098476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：57\n",
      "当前精确率为：0.105702\n",
      "当前召回率为：0.328867\n",
      "当前流行度为：54.026608\n",
      "当前覆盖率为：0.098476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：58\n",
      "当前精确率为：0.104310\n",
      "当前召回率为：0.331818\n",
      "当前流行度为：54.326149\n",
      "当前覆盖率为：0.098476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：59\n",
      "当前精确率为：0.102542\n",
      "当前召回率为：0.326193\n",
      "当前流行度为：53.543503\n",
      "当前覆盖率为：0.103659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：60\n",
      "当前精确率为：0.102917\n",
      "当前召回率为：0.325387\n",
      "当前流行度为：53.828611\n",
      "当前覆盖率为：0.103659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：61\n",
      "当前精确率为：0.101230\n",
      "当前召回率为：0.320052\n",
      "当前流行度为：54.187158\n",
      "当前覆盖率为：0.103811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：62\n",
      "当前精确率为：0.099597\n",
      "当前召回率为：0.314890\n",
      "当前流行度为：54.619624\n",
      "当前覆盖率为：0.103811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：63\n",
      "当前精确率为：0.099603\n",
      "当前召回率为：0.313860\n",
      "当前流行度为：54.984392\n",
      "当前覆盖率为：0.103811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：64\n",
      "当前精确率为：0.101953\n",
      "当前召回率为：0.312862\n",
      "当前流行度为：55.151823\n",
      "当前覆盖率为：0.103811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：65\n",
      "当前精确率为：0.102692\n",
      "当前召回率为：0.310764\n",
      "当前流行度为：55.339487\n",
      "当前覆盖率为：0.103963\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：66\n",
      "当前精确率为：0.108712\n",
      "当前召回率为：0.309579\n",
      "当前流行度为：55.440025\n",
      "当前覆盖率为：0.103963\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：67\n",
      "当前精确率为：0.107090\n",
      "当前召回率为：0.304959\n",
      "当前流行度为：55.267040\n",
      "当前覆盖率为：0.105793\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：68\n",
      "当前精确率为：0.107353\n",
      "当前召回率为：0.308644\n",
      "当前流行度为：55.247672\n",
      "当前覆盖率为：0.106555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：69\n",
      "当前精确率为：0.106159\n",
      "当前召回率为：0.305982\n",
      "当前流行度为：55.653140\n",
      "当前覆盖率为：0.106555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：70\n",
      "当前精确率为：0.104643\n",
      "当前召回率为：0.301611\n",
      "当前流行度为：54.924524\n",
      "当前覆盖率为：0.112043\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：71\n",
      "当前精确率为：0.107746\n",
      "当前召回率为：0.299468\n",
      "当前流行度为：55.009742\n",
      "当前覆盖率为：0.112195\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：72\n",
      "当前精确率为：0.106250\n",
      "当前召回率为：0.295308\n",
      "当前流行度为：54.374190\n",
      "当前覆盖率为：0.116159\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：73\n",
      "当前精确率为：0.112671\n",
      "当前召回率为：0.293406\n",
      "当前流行度为：54.385845\n",
      "当前覆盖率为：0.116311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：74\n",
      "当前精确率为：0.111824\n",
      "当前召回率为：0.296198\n",
      "当前流行度为：54.604617\n",
      "当前覆盖率为：0.116311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：75\n",
      "当前精确率为：0.112667\n",
      "当前召回率为：0.297161\n",
      "当前流行度为：54.408889\n",
      "当前覆盖率为：0.116768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：76\n",
      "当前精确率为：0.111842\n",
      "当前召回率为：0.294100\n",
      "当前流行度为：54.410417\n",
      "当前覆盖率为：0.118140\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：77\n",
      "当前精确率为：0.110390\n",
      "当前召回率为：0.290281\n",
      "当前流行度为：53.986905\n",
      "当前覆盖率为：0.120122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：78\n",
      "当前精确率为：0.108974\n",
      "当前召回率为：0.286559\n",
      "当前流行度为：53.604060\n",
      "当前覆盖率为：0.122713\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：79\n",
      "当前精确率为：0.107595\n",
      "当前召回率为：0.282932\n",
      "当前流行度为：53.014768\n",
      "当前覆盖率为：0.126829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：80\n",
      "当前精确率为：0.110000\n",
      "当前召回率为：0.281601\n",
      "当前流行度为：53.149583\n",
      "当前覆盖率为：0.126982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：81\n",
      "当前精确率为：0.109259\n",
      "当前召回率为：0.284297\n",
      "当前流行度为：52.964095\n",
      "当前覆盖率为：0.128201\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：82\n",
      "当前精确率为：0.110366\n",
      "当前召回率为：0.283700\n",
      "当前流行度为：53.263313\n",
      "当前覆盖率为：0.128201\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：83\n",
      "当前精确率为：0.109036\n",
      "当前召回率为：0.280282\n",
      "当前流行度为：52.708032\n",
      "当前覆盖率为：0.132927\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：84\n",
      "当前精确率为：0.108036\n",
      "当前召回率为：0.279921\n",
      "当前流行度为：52.401389\n",
      "当前覆盖率为：0.134756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：85\n",
      "当前精确率为：0.106765\n",
      "当前召回率为：0.276628\n",
      "当前流行度为：51.799020\n",
      "当前覆盖率为：0.135976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：86\n",
      "当前精确率为：0.108430\n",
      "当前召回率为：0.277718\n",
      "当前流行度为：51.992054\n",
      "当前覆盖率为：0.135976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：87\n",
      "当前精确率为：0.107184\n",
      "当前召回率为：0.274526\n",
      "当前流行度为：51.939559\n",
      "当前覆盖率为：0.136280\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：88\n",
      "当前精确率为：0.105966\n",
      "当前召回率为：0.271406\n",
      "当前流行度为：51.379167\n",
      "当前覆盖率为：0.141463\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：89\n",
      "当前精确率为：0.105056\n",
      "当前召回率为：0.273975\n",
      "当前流行度为：51.281648\n",
      "当前覆盖率为：0.143445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：90\n",
      "当前精确率为：0.104167\n",
      "当前召回率为：0.271375\n",
      "当前流行度为：51.421852\n",
      "当前覆盖率为：0.143445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：91\n",
      "当前精确率为：0.108791\n",
      "当前召回率为：0.271015\n",
      "当前流行度为：51.514194\n",
      "当前覆盖率为：0.143445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：92\n",
      "当前精确率为：0.108152\n",
      "当前召回率为：0.271175\n",
      "当前流行度为：51.545290\n",
      "当前覆盖率为：0.143445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：93\n",
      "当前精确率为：0.108333\n",
      "当前召回率为：0.270597\n",
      "当前流行度为：51.787007\n",
      "当前覆盖率为：0.143445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：94\n",
      "当前精确率为：0.107181\n",
      "当前召回率为：0.267718\n",
      "当前流行度为：51.392199\n",
      "当前覆盖率为：0.145579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：95\n",
      "当前精确率为：0.106579\n",
      "当前召回率为：0.266519\n",
      "当前流行度为：51.492018\n",
      "当前覆盖率为：0.145579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：96\n",
      "当前精确率为：0.105990\n",
      "当前召回率为：0.274160\n",
      "当前流行度为：51.724132\n",
      "当前覆盖率为：0.145732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：97\n",
      "当前精确率为：0.104897\n",
      "当前召回率为：0.271333\n",
      "当前流行度为：51.930069\n",
      "当前覆盖率为：0.146341\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：98\n",
      "当前精确率为：0.103827\n",
      "当前召回率为：0.268565\n",
      "当前流行度为：52.147619\n",
      "当前覆盖率为：0.146341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：99\n",
      "当前精确率为：0.102778\n",
      "当前召回率为：0.265852\n",
      "当前流行度为：52.032744\n",
      "当前覆盖率为：0.146646\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：100\n",
      "当前精确率为：0.101750\n",
      "当前召回率为：0.263193\n",
      "当前流行度为：51.807667\n",
      "当前覆盖率为：0.148476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：101\n",
      "当前精确率为：0.102228\n",
      "当前召回率为：0.265538\n",
      "当前流行度为：52.089521\n",
      "当前覆盖率为：0.148476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：102\n",
      "当前精确率为：0.101716\n",
      "当前召回率为：0.266856\n",
      "当前流行度为：51.924918\n",
      "当前覆盖率为：0.149085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：103\n",
      "当前精确率为：0.100728\n",
      "当前召回率为：0.264265\n",
      "当前流行度为：52.248706\n",
      "当前覆盖率为：0.149085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：104\n",
      "当前精确率为：0.102163\n",
      "当前召回率为：0.263770\n",
      "当前流行度为：52.275881\n",
      "当前覆盖率为：0.149543\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：105\n",
      "当前精确率为：0.101190\n",
      "当前召回率为：0.261258\n",
      "当前流行度为：51.814206\n",
      "当前覆盖率为：0.152591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：106\n",
      "当前精确率为：0.101179\n",
      "当前召回率为：0.264184\n",
      "当前流行度为：52.066667\n",
      "当前覆盖率为：0.152591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：107\n",
      "当前精确率为：0.101168\n",
      "当前召回率为：0.266388\n",
      "当前流行度为：51.965343\n",
      "当前覆盖率为：0.152896\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：108\n",
      "当前精确率为：0.100231\n",
      "当前召回率为：0.263921\n",
      "当前流行度为：51.594136\n",
      "当前覆盖率为：0.156707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：109\n",
      "当前精确率为：0.100459\n",
      "当前召回率为：0.262278\n",
      "当前流行度为：51.701529\n",
      "当前覆盖率为：0.156707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：110\n",
      "当前精确率为：0.099773\n",
      "当前召回率为：0.262166\n",
      "当前流行度为：51.471061\n",
      "当前覆盖率为：0.157774\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：111\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.263558\n",
      "当前流行度为：51.385511\n",
      "当前覆盖率为：0.157774\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：112\n",
      "当前精确率为：0.100223\n",
      "当前召回率为：0.267582\n",
      "当前流行度为：51.408185\n",
      "当前覆盖率为：0.157774\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：113\n",
      "当前精确率为：0.099558\n",
      "当前召回率为：0.274064\n",
      "当前流行度为：51.647493\n",
      "当前覆盖率为：0.158079\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：114\n",
      "当前精确率为：0.099123\n",
      "当前召回率为：0.280432\n",
      "当前流行度为：51.640936\n",
      "当前覆盖率为：0.158079\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：115\n",
      "当前精确率为：0.098478\n",
      "当前召回率为：0.282341\n",
      "当前流行度为：51.968623\n",
      "当前覆盖率为：0.158079\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：116\n",
      "当前精确率为：0.097845\n",
      "当前召回率为：0.282781\n",
      "当前流行度为：51.640230\n",
      "当前覆盖率为：0.159909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：117\n",
      "当前精确率为：0.097222\n",
      "当前召回率为：0.284637\n",
      "当前流行度为：51.693946\n",
      "当前覆盖率为：0.159909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：118\n",
      "当前精确率为：0.096822\n",
      "当前召回率为：0.284108\n",
      "当前流行度为：51.959040\n",
      "当前覆盖率为：0.159909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：119\n",
      "当前精确率为：0.096218\n",
      "当前召回率为：0.285922\n",
      "当前流行度为：51.861275\n",
      "当前覆盖率为：0.161585\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：120\n",
      "当前精确率为：0.095625\n",
      "当前召回率为：0.286318\n",
      "当前流行度为：51.689931\n",
      "当前覆盖率为：0.162500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：121\n",
      "当前精确率为：0.095041\n",
      "当前召回率为：0.285604\n",
      "当前流行度为：51.561708\n",
      "当前覆盖率为：0.162805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：122\n",
      "当前精确率为：0.096516\n",
      "当前召回率为：0.287183\n",
      "当前流行度为：51.655055\n",
      "当前覆盖率为：0.162805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：123\n",
      "当前精确率为：0.095732\n",
      "当前召回率为：0.284849\n",
      "当前流行度为：51.268835\n",
      "当前覆盖率为：0.168140\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：124\n",
      "当前精确率为：0.099395\n",
      "当前召回率为：0.283388\n",
      "当前流行度为：51.344086\n",
      "当前覆盖率为：0.168750\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：125\n",
      "当前精确率为：0.099200\n",
      "当前召回率为：0.283788\n",
      "当前流行度为：51.546933\n",
      "当前覆盖率为：0.168750\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：126\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.288590\n",
      "当前流行度为：51.503505\n",
      "当前覆盖率为：0.169360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：127\n",
      "当前精确率为：0.100787\n",
      "当前召回率为：0.288350\n",
      "当前流行度为：51.665486\n",
      "当前覆盖率为：0.169360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：128\n",
      "当前精确率为：0.102148\n",
      "当前召回率为：0.287399\n",
      "当前流行度为：51.751497\n",
      "当前覆盖率为：0.169360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：129\n",
      "当前精确率为：0.101357\n",
      "当前召回率为：0.285171\n",
      "当前流行度为：51.386951\n",
      "当前覆盖率为：0.174238\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：130\n",
      "当前精确率为：0.100577\n",
      "当前召回率为：0.282978\n",
      "当前流行度为：51.049551\n",
      "当前覆盖率为：0.176829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：131\n",
      "当前精确率为：0.100573\n",
      "当前召回率为：0.285180\n",
      "当前流行度为：51.107188\n",
      "当前覆盖率为：0.176829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：132\n",
      "当前精确率为：0.100758\n",
      "当前召回率为：0.287228\n",
      "当前流行度为：51.094634\n",
      "当前覆盖率为：0.176829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：133\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.285068\n",
      "当前流行度为：51.117231\n",
      "当前覆盖率为：0.176829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：134\n",
      "当前精确率为：0.100187\n",
      "当前召回率为：0.290404\n",
      "当前流行度为：51.115983\n",
      "当前覆盖率为：0.176829\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：135\n",
      "当前精确率为：0.099444\n",
      "当前召回率为：0.288252\n",
      "当前流行度为：50.906975\n",
      "当前覆盖率为：0.177896\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：136\n",
      "当前精确率为：0.100551\n",
      "当前召回率为：0.287971\n",
      "当前流行度为：51.080086\n",
      "当前覆盖率为：0.177896\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：137\n",
      "当前精确率为：0.100182\n",
      "当前召回率为：0.288302\n",
      "当前流行度为：51.175487\n",
      "当前覆盖率为：0.177896\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：138\n",
      "当前精确率为：0.099457\n",
      "当前召回率为：0.286213\n",
      "当前流行度为：50.904469\n",
      "当前覆盖率为：0.180488\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：139\n",
      "当前精确率为：0.099101\n",
      "当前召回率为：0.291348\n",
      "当前流行度为：51.069544\n",
      "当前覆盖率为：0.180488\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：140\n",
      "当前精确率为：0.099107\n",
      "当前召回率为：0.290566\n",
      "当前流行度为：50.974762\n",
      "当前覆盖率为：0.181555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：141\n",
      "当前精确率为：0.099823\n",
      "当前召回率为：0.294809\n",
      "当前流行度为：51.003310\n",
      "当前覆盖率为：0.181555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：142\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.293800\n",
      "当前流行度为：51.153638\n",
      "当前覆盖率为：0.181555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：143\n",
      "当前精确率为：0.099476\n",
      "当前召回率为：0.292445\n",
      "当前流行度为：51.221445\n",
      "当前覆盖率为：0.181860\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：144\n",
      "当前精确率为：0.099653\n",
      "当前召回率为：0.296201\n",
      "当前流行度为：51.251852\n",
      "当前覆盖率为：0.181860\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：145\n",
      "当前精确率为：0.098966\n",
      "当前召回率为：0.294158\n",
      "当前流行度为：51.391839\n",
      "当前覆盖率为：0.181860\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：146\n",
      "当前精确率为：0.098801\n",
      "当前召回率为：0.294198\n",
      "当前流行度为：51.568094\n",
      "当前覆盖率为：0.181860\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：147\n",
      "当前精确率为：0.098980\n",
      "当前召回率为：0.297056\n",
      "当前流行度为：51.407256\n",
      "当前覆盖率为：0.182470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：148\n",
      "当前精确率为：0.099831\n",
      "当前召回率为：0.295710\n",
      "当前流行度为：51.492342\n",
      "当前覆盖率为：0.182470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：149\n",
      "当前精确率为：0.099161\n",
      "当前召回率为：0.293725\n",
      "当前流行度为：51.157998\n",
      "当前覆盖率为：0.187500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：150\n",
      "当前精确率为：0.098500\n",
      "当前召回率为：0.291767\n",
      "当前流行度为：51.225111\n",
      "当前覆盖率为：0.187500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：151\n",
      "当前精确率为：0.098510\n",
      "当前召回率为：0.290689\n",
      "当前流行度为：51.217329\n",
      "当前覆盖率为：0.187652\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：152\n",
      "当前精确率为：0.099342\n",
      "当前召回率为：0.291145\n",
      "当前流行度为：51.189254\n",
      "当前覆盖率为：0.187652\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：153\n",
      "当前精确率为：0.099183\n",
      "当前召回率为：0.290751\n",
      "当前流行度为：51.126906\n",
      "当前覆盖率为：0.188872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：154\n",
      "当前精确率为：0.098864\n",
      "当前召回率为：0.292110\n",
      "当前流行度为：51.356439\n",
      "当前覆盖率为：0.188872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：155\n",
      "当前精确率为：0.098226\n",
      "当前召回率为：0.290225\n",
      "当前流行度为：51.553172\n",
      "当前覆盖率为：0.188872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：156\n",
      "当前精确率为：0.098237\n",
      "当前召回率为：0.289873\n",
      "当前流行度为：51.693056\n",
      "当前覆盖率为：0.189177\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：157\n",
      "当前精确率为：0.097611\n",
      "当前召回率为：0.288027\n",
      "当前流行度为：51.677654\n",
      "当前覆盖率为：0.189939\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：158\n",
      "当前精确率为：0.097152\n",
      "当前召回率为：0.289368\n",
      "当前流行度为：51.542827\n",
      "当前覆盖率为：0.190701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：159\n",
      "当前精确率为：0.096855\n",
      "当前召回率为：0.288806\n",
      "当前流行度为：51.525734\n",
      "当前覆盖率为：0.190701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：160\n",
      "当前精确率为：0.100156\n",
      "当前召回率为：0.287894\n",
      "当前流行度为：51.509635\n",
      "当前覆盖率为：0.191311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：161\n",
      "当前精确率为：0.100466\n",
      "当前召回率为：0.287486\n",
      "当前流行度为：51.599017\n",
      "当前覆盖率为：0.191311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：162\n",
      "当前精确率为：0.099846\n",
      "当前召回率为：0.285711\n",
      "当前流行度为：51.640226\n",
      "当前覆盖率为：0.193140\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：163\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.284245\n",
      "当前流行度为：51.376636\n",
      "当前覆盖率为：0.197409\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：164\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.286577\n",
      "当前流行度为：51.558943\n",
      "当前覆盖率为：0.197409\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：165\n",
      "当前精确率为：0.099697\n",
      "当前召回率为：0.286355\n",
      "当前流行度为：51.613889\n",
      "当前覆盖率为：0.197561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：166\n",
      "当前精确率为：0.100602\n",
      "当前召回率为：0.290655\n",
      "当前流行度为：51.616968\n",
      "当前覆盖率为：0.197561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：167\n",
      "当前精确率为：0.101198\n",
      "当前召回率为：0.290142\n",
      "当前流行度为：51.737226\n",
      "当前覆盖率为：0.197561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：168\n",
      "当前精确率为：0.101637\n",
      "当前召回率为：0.293624\n",
      "当前流行度为：51.725992\n",
      "当前覆盖率为：0.197561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：169\n",
      "当前精确率为：0.101036\n",
      "当前召回率为：0.291886\n",
      "当前流行度为：51.427022\n",
      "当前覆盖率为：0.199695\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：170\n",
      "当前精确率为：0.102059\n",
      "当前召回率为：0.291872\n",
      "当前流行度为：51.527010\n",
      "当前覆盖率为：0.199695\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：171\n",
      "当前精确率为：0.101608\n",
      "当前召回率为：0.292115\n",
      "当前流行度为：51.342934\n",
      "当前覆盖率为：0.201524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：172\n",
      "当前精确率为：0.103488\n",
      "当前召回率为：0.292433\n",
      "当前流行度为：51.431202\n",
      "当前覆盖率为：0.201524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：173\n",
      "当前精确率为：0.102890\n",
      "当前召回率为：0.290743\n",
      "当前流行度为：51.588680\n",
      "当前覆盖率为：0.201524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：174\n",
      "当前精确率为：0.103017\n",
      "当前召回率为：0.290098\n",
      "当前流行度为：51.549952\n",
      "当前覆盖率为：0.201524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：175\n",
      "当前精确率为：0.102429\n",
      "当前召回率为：0.288441\n",
      "当前流行度为：51.512952\n",
      "当前覆盖率为：0.201677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：176\n",
      "当前精确率为：0.101989\n",
      "当前召回率为：0.287613\n",
      "当前流行度为：51.601799\n",
      "当前覆盖率为：0.201677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：177\n",
      "当前精确率为：0.101977\n",
      "当前召回率为：0.291638\n",
      "当前流行度为：51.500800\n",
      "当前覆盖率为：0.202134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：178\n",
      "当前精确率为：0.101404\n",
      "当前召回率为：0.290000\n",
      "当前流行度为：51.430431\n",
      "当前覆盖率为：0.202744\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：179\n",
      "当前精确率为：0.100978\n",
      "当前召回率为：0.289178\n",
      "当前流行度为：51.431657\n",
      "当前覆盖率为：0.203049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：180\n",
      "当前精确率为：0.100556\n",
      "当前召回率为：0.290349\n",
      "当前流行度为：51.529398\n",
      "当前覆盖率为：0.203049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：181\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.288745\n",
      "当前流行度为：51.273020\n",
      "当前覆盖率为：0.205183\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：182\n",
      "当前精确率为：0.100137\n",
      "当前召回率为：0.288017\n",
      "当前流行度为：51.392949\n",
      "当前覆盖率为：0.205183\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：183\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.289175\n",
      "当前流行度为：51.541894\n",
      "当前覆盖率为：0.205183\n",
      "\n",
      "\n",
      "无法对用户198做出推荐，因为该用户的感兴趣电影数为0\n",
      "已经处理过的测试集用户数目为：184\n",
      "当前精确率为：0.099592\n",
      "当前召回率为：0.293038\n",
      "当前流行度为：51.348324\n",
      "当前覆盖率为：0.207774\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：185\n",
      "当前精确率为：0.099189\n",
      "当前召回率为：0.292535\n",
      "当前流行度为：51.271712\n",
      "当前覆盖率为：0.208232\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：186\n",
      "当前精确率为：0.098790\n",
      "当前召回率为：0.292755\n",
      "当前流行度为：51.419713\n",
      "当前覆盖率为：0.208232\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：187\n",
      "当前精确率为：0.098797\n",
      "当前召回率为：0.295467\n",
      "当前流行度为：51.466800\n",
      "当前覆盖率为：0.208232\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：188\n",
      "当前精确率为：0.098537\n",
      "当前召回率为：0.295669\n",
      "当前流行度为：51.527615\n",
      "当前覆盖率为：0.208384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：189\n",
      "当前精确率为：0.098148\n",
      "当前召回率为：0.296750\n",
      "当前流行度为：51.547972\n",
      "当前覆盖率为：0.208537\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：190\n",
      "当前精确率为：0.097632\n",
      "当前召回率为：0.295188\n",
      "当前流行度为：51.285877\n",
      "当前覆盖率为：0.209299\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：191\n",
      "当前精确率为：0.098429\n",
      "当前召回率为：0.295448\n",
      "当前流行度为：51.350087\n",
      "当前覆盖率为：0.209299\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：192\n",
      "当前精确率为：0.098307\n",
      "当前召回率为：0.297815\n",
      "当前流行度为：51.511155\n",
      "当前覆盖率为：0.209299\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：193\n",
      "当前精确率为：0.097927\n",
      "当前召回率为：0.297999\n",
      "当前流行度为：51.686356\n",
      "当前覆盖率为：0.209604\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：194\n",
      "当前精确率为：0.097423\n",
      "当前召回率为：0.296463\n",
      "当前流行度为：51.618900\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：195\n",
      "当前精确率为：0.096923\n",
      "当前召回率为：0.294943\n",
      "当前流行度为：51.760470\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：196\n",
      "当前精确率为：0.096556\n",
      "当前召回率为：0.295989\n",
      "当前流行度为：51.882611\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：197\n",
      "当前精确率为：0.096320\n",
      "当前召回率为：0.295502\n",
      "当前流行度为：52.029019\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：198\n",
      "当前精确率为：0.098106\n",
      "当前召回率为：0.294357\n",
      "当前流行度为：52.080892\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：199\n",
      "当前精确率为：0.097613\n",
      "当前召回率为：0.292877\n",
      "当前流行度为：52.229983\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：200\n",
      "当前精确率为：0.097125\n",
      "当前召回率为：0.291413\n",
      "当前流行度为：52.004583\n",
      "当前覆盖率为：0.212195\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：201\n",
      "当前精确率为：0.096766\n",
      "当前召回率为：0.291207\n",
      "当前流行度为：51.947347\n",
      "当前覆盖率为：0.212500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：202\n",
      "当前精确率为：0.096782\n",
      "当前召回率为：0.290930\n",
      "当前流行度为：52.036097\n",
      "当前覆盖率为：0.212805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：203\n",
      "当前精确率为：0.096305\n",
      "当前召回率为：0.289497\n",
      "当前流行度为：52.162028\n",
      "当前覆盖率为：0.212805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：204\n",
      "当前精确率为：0.095833\n",
      "当前召回率为：0.288078\n",
      "当前流行度为：52.152288\n",
      "当前覆盖率为：0.213110\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：205\n",
      "当前精确率为：0.095732\n",
      "当前召回率为：0.287160\n",
      "当前流行度为：51.979350\n",
      "当前覆盖率为：0.214329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：206\n",
      "当前精确率为：0.095267\n",
      "当前召回率为：0.285766\n",
      "当前流行度为：51.950930\n",
      "当前覆盖率为：0.214329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：207\n",
      "当前精确率为：0.094928\n",
      "当前召回率为：0.285076\n",
      "当前流行度为：51.841023\n",
      "当前覆盖率为：0.214482\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：208\n",
      "当前精确率为：0.094832\n",
      "当前召回率为：0.284815\n",
      "当前流行度为：51.814263\n",
      "当前覆盖率为：0.214787\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：209\n",
      "当前精确率为：0.094498\n",
      "当前召回率为：0.284409\n",
      "当前流行度为：51.631061\n",
      "当前覆盖率为：0.215396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：210\n",
      "当前精确率为：0.094048\n",
      "当前召回率为：0.283055\n",
      "当前流行度为：51.704960\n",
      "当前覆盖率为：0.215701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：211\n",
      "当前精确率为：0.093602\n",
      "当前召回率为：0.281713\n",
      "当前流行度为：51.508373\n",
      "当前覆盖率为：0.217683\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：212\n",
      "当前精确率为：0.093160\n",
      "当前召回率为：0.280384\n",
      "当前流行度为：51.377606\n",
      "当前覆盖率为：0.218445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：213\n",
      "当前精确率为：0.092958\n",
      "当前召回率为：0.281416\n",
      "当前流行度为：51.443673\n",
      "当前覆盖率为：0.218445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：214\n",
      "当前精确率为：0.092523\n",
      "当前召回率为：0.280101\n",
      "当前流行度为：51.213913\n",
      "当前覆盖率为：0.220427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：215\n",
      "当前精确率为：0.092326\n",
      "当前召回率为：0.281123\n",
      "当前流行度为：51.250825\n",
      "当前覆盖率为：0.220427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：216\n",
      "当前精确率为：0.092014\n",
      "当前召回率为：0.282137\n",
      "当前流行度为：51.103946\n",
      "当前覆盖率为：0.220884\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：217\n",
      "当前精确率为：0.094816\n",
      "当前召回率为：0.281281\n",
      "当前流行度为：51.123859\n",
      "当前覆盖率为：0.221037\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：218\n",
      "当前精确率为：0.094381\n",
      "当前召回率为：0.279991\n",
      "当前流行度为：51.132924\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：219\n",
      "当前精确率为：0.094406\n",
      "当前召回率为：0.280118\n",
      "当前流行度为：51.253093\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：220\n",
      "当前精确率为：0.096136\n",
      "当前召回率为：0.279252\n",
      "当前流行度为：51.317624\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：221\n",
      "当前精确率为：0.096041\n",
      "当前召回率为：0.279119\n",
      "当前流行度为：51.393110\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：222\n",
      "当前精确率为：0.096171\n",
      "当前召回率为：0.278666\n",
      "当前流行度为：51.448997\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：223\n",
      "当前精确率为：0.095740\n",
      "当前召回率为：0.277417\n",
      "当前流行度为：51.522881\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：224\n",
      "当前精确率为：0.095647\n",
      "当前召回率为：0.277294\n",
      "当前流行度为：51.621662\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：225\n",
      "当前精确率为：0.095444\n",
      "当前召回率为：0.280506\n",
      "当前流行度为：51.677122\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：226\n",
      "当前精确率为：0.095133\n",
      "当前召回率为：0.279708\n",
      "当前流行度为：51.638838\n",
      "当前覆盖率为：0.221341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：227\n",
      "当前精确率为：0.095595\n",
      "当前召回率为：0.279210\n",
      "当前流行度为：51.684702\n",
      "当前覆盖率为：0.221799\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：228\n",
      "当前精确率为：0.095395\n",
      "当前召回率为：0.278533\n",
      "当前流行度为：51.608453\n",
      "当前覆盖率为：0.223780\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：229\n",
      "当前精确率为：0.095415\n",
      "当前召回率为：0.277899\n",
      "当前流行度为：51.717150\n",
      "当前覆盖率为：0.223780\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：230\n",
      "当前精确率为：0.095978\n",
      "当前召回率为：0.278993\n",
      "当前流行度为：51.683163\n",
      "当前覆盖率为：0.223933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：231\n",
      "当前精确率为：0.095779\n",
      "当前召回率为：0.279228\n",
      "当前流行度为：51.747305\n",
      "当前覆盖率为：0.223933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：232\n",
      "当前精确率为：0.096013\n",
      "当前召回率为：0.278982\n",
      "当前流行度为：51.783523\n",
      "当前覆盖率为：0.223933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：233\n",
      "当前精确率为：0.096245\n",
      "当前召回率为：0.278059\n",
      "当前流行度为：51.602478\n",
      "当前覆盖率为：0.226372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：234\n",
      "当前精确率为：0.096154\n",
      "当前召回率为：0.277672\n",
      "当前流行度为：51.609412\n",
      "当前覆盖率为：0.226372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：235\n",
      "当前精确率为：0.095745\n",
      "当前召回率为：0.276490\n",
      "当前流行度为：51.474053\n",
      "当前覆盖率为：0.226982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：236\n",
      "当前精确率为：0.095869\n",
      "当前召回率为：0.275800\n",
      "当前流行度为：51.545773\n",
      "当前覆盖率为：0.226982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：237\n",
      "当前精确率为：0.096097\n",
      "当前召回率为：0.278856\n",
      "当前流行度为：51.548850\n",
      "当前覆盖率为：0.226982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：238\n",
      "当前精确率为：0.095693\n",
      "当前召回率为：0.277684\n",
      "当前流行度为：51.621544\n",
      "当前覆盖率为：0.227134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：239\n",
      "当前精确率为：0.095293\n",
      "当前召回率为：0.276523\n",
      "当前流行度为：51.475219\n",
      "当前覆盖率为：0.229878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：240\n",
      "当前精确率为：0.094896\n",
      "当前召回率为：0.275370\n",
      "当前流行度为：51.377927\n",
      "当前覆盖率为：0.230488\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：241\n",
      "当前精确率为：0.094606\n",
      "当前召回率为：0.276302\n",
      "当前流行度为：51.472935\n",
      "当前覆盖率为：0.230488\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：242\n",
      "当前精确率为：0.095145\n",
      "当前召回率为：0.276710\n",
      "当前流行度为：51.581208\n",
      "当前覆盖率为：0.230488\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：243\n",
      "当前精确率为：0.095576\n",
      "当前召回率为：0.277401\n",
      "当前流行度为：51.626244\n",
      "当前覆盖率为：0.230640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：244\n",
      "当前精确率为：0.095184\n",
      "当前召回率为：0.276264\n",
      "当前流行度为：51.512817\n",
      "当前覆盖率为：0.231098\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：245\n",
      "当前精确率为：0.094796\n",
      "当前召回率为：0.275136\n",
      "当前流行度为：51.362255\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：246\n",
      "当前精确率为：0.094512\n",
      "当前召回率为：0.274831\n",
      "当前流行度为：51.484156\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：247\n",
      "当前精确率为：0.094231\n",
      "当前召回率为：0.277767\n",
      "当前流行度为：51.547277\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：248\n",
      "当前精确率为：0.093952\n",
      "当前召回率为：0.280679\n",
      "当前流行度为：51.560796\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：249\n",
      "当前精确率为：0.093775\n",
      "当前召回率为：0.280444\n",
      "当前流行度为：51.664969\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：250\n",
      "当前精确率为：0.093500\n",
      "当前召回率为：0.280122\n",
      "当前流行度为：51.683710\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：251\n",
      "当前精确率为：0.094223\n",
      "当前召回率为：0.279547\n",
      "当前流行度为：51.725308\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：252\n",
      "当前精确率为：0.093849\n",
      "当前召回率为：0.278438\n",
      "当前流行度为：51.748521\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：253\n",
      "当前精确率为：0.093577\n",
      "当前召回率为：0.277641\n",
      "当前流行度为：51.848132\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "无法对用户281做出推荐，因为该用户的感兴趣电影数为0\n",
      "已经处理过的测试集用户数目为：254\n",
      "当前精确率为：0.093307\n",
      "当前召回率为：0.278517\n",
      "当前流行度为：51.745482\n",
      "当前覆盖率为：0.233232\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：255\n",
      "当前精确率为：0.092941\n",
      "当前召回率为：0.277425\n",
      "当前流行度为：51.844715\n",
      "当前覆盖率为：0.233384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：256\n",
      "当前精确率为：0.092871\n",
      "当前召回率为：0.277643\n",
      "当前流行度为：51.951767\n",
      "当前覆盖率为：0.233384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：257\n",
      "当前精确率为：0.093093\n",
      "当前召回率为：0.277674\n",
      "当前流行度为：52.027928\n",
      "当前覆盖率为：0.233384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：258\n",
      "当前精确率为：0.092733\n",
      "当前召回率为：0.276598\n",
      "当前流行度为：52.006695\n",
      "当前覆盖率为：0.233689\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：259\n",
      "当前精确率为：0.092664\n",
      "当前召回率为：0.276082\n",
      "当前流行度为：51.935820\n",
      "当前覆盖率为：0.235213\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：260\n",
      "当前精确率为：0.092500\n",
      "当前召回率为：0.275425\n",
      "当前流行度为：52.025682\n",
      "当前覆盖率为：0.235213\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：261\n",
      "当前精确率为：0.092146\n",
      "当前召回率为：0.274370\n",
      "当前流行度为：51.963132\n",
      "当前覆盖率为：0.236280\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：262\n",
      "当前精确率为：0.091794\n",
      "当前召回率为：0.273322\n",
      "当前流行度为：51.776536\n",
      "当前覆盖率为：0.237500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：263\n",
      "当前精确率为：0.091730\n",
      "当前召回率为：0.273913\n",
      "当前流行度为：51.842785\n",
      "当前覆盖率为：0.237500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：264\n",
      "当前精确率为：0.091761\n",
      "当前召回率为：0.275400\n",
      "当前流行度为：51.955312\n",
      "当前覆盖率为：0.237500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：265\n",
      "当前精确率为：0.091415\n",
      "当前召回率为：0.274361\n",
      "当前流行度为：51.871613\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：266\n",
      "当前精确率为：0.092199\n",
      "当前召回率为：0.274517\n",
      "当前流行度为：51.965047\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：267\n",
      "当前精确率为：0.092603\n",
      "当前召回率为：0.273863\n",
      "当前流行度为：52.023511\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：268\n",
      "当前精确率为：0.092257\n",
      "当前召回率为：0.272841\n",
      "当前流行度为：52.119692\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：269\n",
      "当前精确率为：0.091914\n",
      "当前召回率为：0.271827\n",
      "当前流行度为：52.160882\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：270\n",
      "当前精确率为：0.091759\n",
      "当前召回率为：0.271561\n",
      "当前流行度为：52.180842\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：271\n",
      "当前精确率为：0.092435\n",
      "当前召回率为：0.272588\n",
      "当前流行度为：52.280267\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：272\n",
      "当前精确率为：0.092647\n",
      "当前召回率为：0.272435\n",
      "当前流行度为：52.354421\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：273\n",
      "当前精确率为：0.093498\n",
      "当前召回率为：0.272880\n",
      "当前流行度为：52.425558\n",
      "当前覆盖率为：0.237805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：274\n",
      "当前精确率为：0.093796\n",
      "当前召回率为：0.272995\n",
      "当前流行度为：52.416706\n",
      "当前覆盖率为：0.238110\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：275\n",
      "当前精确率为：0.093727\n",
      "当前召回率为：0.275638\n",
      "当前流行度为：52.496463\n",
      "当前覆盖率为：0.238110\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：276\n",
      "当前精确率为：0.093478\n",
      "当前召回率为：0.275545\n",
      "当前流行度为：52.378360\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：277\n",
      "当前精确率为：0.093141\n",
      "当前召回率为：0.274551\n",
      "当前流行度为：52.212463\n",
      "当前覆盖率为：0.242683\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：278\n",
      "当前精确率为：0.092806\n",
      "当前召回率为：0.273563\n",
      "当前流行度为：52.229055\n",
      "当前覆盖率为：0.242835\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：279\n",
      "当前精确率为：0.092652\n",
      "当前召回率为：0.273134\n",
      "当前流行度为：52.331550\n",
      "当前覆盖率为：0.242835\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：280\n",
      "当前精确率为：0.092679\n",
      "当前召回率为：0.275730\n",
      "当前流行度为：52.345009\n",
      "当前覆盖率为：0.242835\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：281\n",
      "当前精确率为：0.092349\n",
      "当前召回率为：0.274749\n",
      "当前流行度为：52.189332\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：282\n",
      "当前精确率为：0.092287\n",
      "当前召回率为：0.274593\n",
      "当前流行度为：52.273058\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：283\n",
      "当前精确率为：0.094346\n",
      "当前召回率为：0.274985\n",
      "当前流行度为：52.338613\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：284\n",
      "当前精确率为：0.094982\n",
      "当前召回率为：0.275124\n",
      "当前流行度为：52.381258\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：285\n",
      "当前精确率为：0.094649\n",
      "当前召回率为：0.274158\n",
      "当前流行度为：52.442464\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：286\n",
      "当前精确率为：0.094668\n",
      "当前召回率为：0.274598\n",
      "当前流行度为：52.499134\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：287\n",
      "当前精确率为：0.094425\n",
      "当前召回率为：0.274803\n",
      "当前流行度为：52.579712\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：288\n",
      "当前精确率为：0.094618\n",
      "当前召回率为：0.274345\n",
      "当前流行度为：52.622317\n",
      "当前覆盖率为：0.244207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：289\n",
      "当前精确率为：0.094291\n",
      "当前召回率为：0.273396\n",
      "当前流行度为：52.691358\n",
      "当前覆盖率为：0.244360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：290\n",
      "当前精确率为：0.094483\n",
      "当前召回率为：0.272923\n",
      "当前流行度为：52.585612\n",
      "当前覆盖率为：0.245427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：291\n",
      "当前精确率为：0.094330\n",
      "当前召回率为：0.272672\n",
      "当前流行度为：52.670283\n",
      "当前覆盖率为：0.245427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：292\n",
      "当前精确率为：0.094007\n",
      "当前召回率为：0.271739\n",
      "当前流行度为：52.516618\n",
      "当前覆盖率为：0.247866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：293\n",
      "当前精确率为：0.093686\n",
      "当前召回率为：0.270811\n",
      "当前流行度为：52.399837\n",
      "当前覆盖率为：0.249085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：294\n",
      "当前精确率为：0.093367\n",
      "当前召回率为：0.269890\n",
      "当前流行度为：52.456471\n",
      "当前覆盖率为：0.249085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：295\n",
      "当前精确率为：0.093051\n",
      "当前召回率为：0.268975\n",
      "当前流行度为：52.282991\n",
      "当前覆盖率为：0.252744\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：296\n",
      "当前精确率为：0.093074\n",
      "当前召回率为：0.268778\n",
      "当前流行度为：52.283302\n",
      "当前覆盖率为：0.252744\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：297\n",
      "当前精确率为：0.092761\n",
      "当前召回率为：0.267873\n",
      "当前流行度为：52.223678\n",
      "当前覆盖率为：0.253659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：298\n",
      "当前精确率为：0.092617\n",
      "当前召回率为：0.268652\n",
      "当前流行度为：52.299689\n",
      "当前覆盖率为：0.253659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：299\n",
      "当前精确率为：0.092308\n",
      "当前召回率为：0.267753\n",
      "当前流行度为：52.164239\n",
      "当前覆盖率为：0.256707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：300\n",
      "当前精确率为：0.093500\n",
      "当前召回率为：0.267374\n",
      "当前流行度为：52.224191\n",
      "当前覆盖率为：0.256707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：301\n",
      "当前精确率为：0.093355\n",
      "当前召回率为：0.267224\n",
      "当前流行度为：52.313812\n",
      "当前覆盖率为：0.256707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：302\n",
      "当前精确率为：0.093626\n",
      "当前召回率为：0.269236\n",
      "当前流行度为：52.332061\n",
      "当前覆盖率为：0.256707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：303\n",
      "当前精确率为：0.093894\n",
      "当前召回率为：0.271235\n",
      "当前流行度为：52.342021\n",
      "当前覆盖率为：0.256707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：304\n",
      "当前精确率为：0.093914\n",
      "当前召回率为：0.271988\n",
      "当前流行度为：52.342458\n",
      "当前覆盖率为：0.256707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：305\n",
      "当前精确率为：0.093607\n",
      "当前召回率为：0.271096\n",
      "当前流行度为：52.231500\n",
      "当前覆盖率为：0.258232\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：306\n",
      "当前精确率为：0.093382\n",
      "当前召回率为：0.270755\n",
      "当前流行度为：52.220286\n",
      "当前覆盖率为：0.258232\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：307\n",
      "当前精确率为：0.093811\n",
      "当前召回率为：0.270163\n",
      "当前流行度为：52.243265\n",
      "当前覆盖率为：0.258537\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：308\n",
      "当前精确率为：0.093831\n",
      "当前召回率为：0.270368\n",
      "当前流行度为：52.277297\n",
      "当前覆盖率为：0.258537\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：309\n",
      "当前精确率为：0.093851\n",
      "当前召回率为：0.271651\n",
      "当前流行度为：52.276399\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：310\n",
      "当前精确率为：0.093629\n",
      "当前召回率为：0.271850\n",
      "当前流行度为：52.300508\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：311\n",
      "当前精确率为：0.093810\n",
      "当前召回率为：0.271483\n",
      "当前流行度为：52.374461\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：312\n",
      "当前精确率为：0.093590\n",
      "当前召回率为：0.272216\n",
      "当前流行度为：52.488886\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：313\n",
      "当前精确率为：0.093530\n",
      "当前召回率为：0.271688\n",
      "当前流行度为：52.546429\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：314\n",
      "当前精确率为：0.093232\n",
      "当前召回率为：0.270823\n",
      "当前流行度为：52.421759\n",
      "当前覆盖率为：0.261738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：315\n",
      "当前精确率为：0.093016\n",
      "当前召回率为：0.271551\n",
      "当前流行度为：52.447325\n",
      "当前覆盖率为：0.261738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：316\n",
      "当前精确率为：0.092722\n",
      "当前召回率为：0.270691\n",
      "当前流行度为：52.288077\n",
      "当前覆盖率为：0.264787\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：317\n",
      "当前精确率为：0.092587\n",
      "当前召回率为：0.270323\n",
      "当前流行度为：52.323446\n",
      "当前覆盖率为：0.264787\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：318\n",
      "当前精确率为：0.092689\n",
      "当前召回率为：0.270682\n",
      "当前流行度为：52.374237\n",
      "当前覆盖率为：0.264787\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：319\n",
      "当前精确率为：0.092476\n",
      "当前召回率为：0.270878\n",
      "当前流行度为：52.306685\n",
      "当前覆盖率为：0.264939\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：320\n",
      "当前精确率为：0.092266\n",
      "当前召回率为：0.271594\n",
      "当前流行度为：52.262757\n",
      "当前覆盖率为：0.265091\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：321\n",
      "当前精确率为：0.093224\n",
      "当前召回率为：0.273241\n",
      "当前流行度为：52.239743\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：322\n",
      "当前精确率为：0.093168\n",
      "当前召回率为：0.273013\n",
      "当前流行度为：52.296451\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：323\n",
      "当前精确率为：0.093731\n",
      "当前召回率为：0.272823\n",
      "当前流行度为：52.349017\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：324\n",
      "当前精确率为：0.094136\n",
      "当前召回率为：0.273010\n",
      "当前流行度为：52.393155\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：325\n",
      "当前精确率为：0.094154\n",
      "当前召回率为：0.273288\n",
      "当前流行度为：52.420407\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：326\n",
      "当前精确率为：0.094248\n",
      "当前召回率为：0.273984\n",
      "当前流行度为：52.484148\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：327\n",
      "当前精确率为：0.095183\n",
      "当前召回率为：0.274258\n",
      "当前流行度为：52.501169\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：328\n",
      "当前精确率为：0.095046\n",
      "当前召回率为：0.275454\n",
      "当前流行度为：52.605891\n",
      "当前覆盖率为：0.265396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：329\n",
      "当前精确率为：0.094985\n",
      "当前召回率为：0.276137\n",
      "当前流行度为：52.475402\n",
      "当前覆盖率为：0.267378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：330\n",
      "当前精确率为：0.094848\n",
      "当前召回率为：0.275619\n",
      "当前流行度为：52.548583\n",
      "当前覆盖率为：0.267378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：331\n",
      "当前精确率为：0.095317\n",
      "当前召回率为：0.275948\n",
      "当前流行度为：52.541563\n",
      "当前覆盖率为：0.267530\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：332\n",
      "当前精确率为：0.095482\n",
      "当前召回率为：0.276180\n",
      "当前流行度为：52.590534\n",
      "当前覆盖率为：0.267530\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：333\n",
      "当前精确率为：0.095270\n",
      "当前召回率为：0.276852\n",
      "当前流行度为：52.609181\n",
      "当前覆盖率为：0.267530\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：334\n",
      "当前精确率为：0.094985\n",
      "当前召回率为：0.276024\n",
      "当前流行度为：52.520456\n",
      "当前覆盖率为：0.268293\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：335\n",
      "当前精确率为：0.095373\n",
      "当前召回率为：0.275771\n",
      "当前流行度为：52.569425\n",
      "当前覆盖率为：0.268293\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：336\n",
      "当前精确率为：0.095089\n",
      "当前召回率为：0.274950\n",
      "当前流行度为：52.452105\n",
      "当前覆盖率为：0.268902\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：337\n",
      "当前精确率为：0.095549\n",
      "当前召回率为：0.274895\n",
      "当前流行度为：52.499503\n",
      "当前覆盖率为：0.268902\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：338\n",
      "当前精确率为：0.095414\n",
      "当前召回率为：0.276055\n",
      "当前流行度为：52.532936\n",
      "当前覆盖率为：0.269055\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：339\n",
      "当前精确率为：0.095501\n",
      "当前召回率为：0.276060\n",
      "当前流行度为：52.521113\n",
      "当前覆盖率为：0.269055\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：340\n",
      "当前精确率为：0.095662\n",
      "当前召回率为：0.275752\n",
      "当前流行度为：52.512448\n",
      "当前覆盖率为：0.269207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：341\n",
      "当前精确率为：0.096334\n",
      "当前召回率为：0.275649\n",
      "当前流行度为：52.562485\n",
      "当前覆盖率为：0.269207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：342\n",
      "当前精确率为：0.096418\n",
      "当前召回率为：0.275249\n",
      "当前流行度为：52.538399\n",
      "当前覆盖率为：0.269512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：343\n",
      "当前精确率为：0.096283\n",
      "当前召回率为：0.275280\n",
      "当前流行度为：52.587485\n",
      "当前覆盖率为：0.269665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：344\n",
      "当前精确率为：0.096003\n",
      "当前召回率为：0.274480\n",
      "当前流行度为：52.528655\n",
      "当前覆盖率为：0.269665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：345\n",
      "当前精确率为：0.096014\n",
      "当前召回率为：0.273954\n",
      "当前流行度为：52.557195\n",
      "当前覆盖率为：0.269665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：346\n",
      "当前精确率为：0.095737\n",
      "当前召回率为：0.273162\n",
      "当前流行度为：52.563533\n",
      "当前覆盖率为：0.269665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：347\n",
      "当前精确率为：0.095965\n",
      "当前召回率为：0.272813\n",
      "当前流行度为：52.602903\n",
      "当前覆盖率为：0.269665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：348\n",
      "当前精确率为：0.095690\n",
      "当前召回率为：0.272029\n",
      "当前流行度为：52.559504\n",
      "当前覆盖率为：0.269970\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：349\n",
      "当前精确率为：0.095845\n",
      "当前召回率为：0.271887\n",
      "当前流行度为：52.607399\n",
      "当前覆盖率为：0.269970\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：350\n",
      "当前精确率为：0.095571\n",
      "当前召回率为：0.271110\n",
      "当前流行度为：52.484664\n",
      "当前覆盖率为：0.272104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：351\n",
      "当前精确率为：0.095584\n",
      "当前召回率为：0.270970\n",
      "当前流行度为：52.499736\n",
      "当前覆盖率为：0.272104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：352\n",
      "当前精确率为：0.095312\n",
      "当前召回率为：0.270201\n",
      "当前流行度为：52.404637\n",
      "当前覆盖率为：0.272866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：353\n",
      "当前精确率为：0.095822\n",
      "当前召回率为：0.270682\n",
      "当前流行度为：52.425446\n",
      "当前覆盖率为：0.272866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：354\n",
      "当前精确率为：0.095551\n",
      "当前召回率为：0.269917\n",
      "当前流行度为：52.424032\n",
      "当前覆盖率为：0.272866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：355\n",
      "当前精确率为：0.095282\n",
      "当前召回率为：0.269157\n",
      "当前流行度为：52.381570\n",
      "当前覆盖率为：0.273628\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：356\n",
      "当前精确率为：0.095154\n",
      "当前召回率为：0.271210\n",
      "当前流行度为：52.380779\n",
      "当前覆盖率为：0.273628\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：357\n",
      "当前精确率为：0.094958\n",
      "当前召回率为：0.273251\n",
      "当前流行度为：52.364306\n",
      "当前覆盖率为：0.273628\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：358\n",
      "当前精确率为：0.094763\n",
      "当前召回率为：0.273186\n",
      "当前流行度为：52.331864\n",
      "当前覆盖率为：0.273628\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：359\n",
      "当前精确率为：0.094499\n",
      "当前召回率为：0.272425\n",
      "当前流行度为：52.330940\n",
      "当前覆盖率为：0.273628\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：360\n",
      "当前精确率为：0.094653\n",
      "当前召回率为：0.272096\n",
      "当前流行度为：52.370646\n",
      "当前覆盖率为：0.273628\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：361\n",
      "当前精确率为：0.094391\n",
      "当前召回率为：0.271342\n",
      "当前流行度为：52.241987\n",
      "当前覆盖率为：0.276524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：362\n",
      "当前精确率为：0.095373\n",
      "当前召回率为：0.271435\n",
      "当前流行度为：52.281374\n",
      "当前覆盖率为：0.276524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：363\n",
      "当前精确率为：0.095179\n",
      "当前召回率为：0.270994\n",
      "当前流行度为：52.256494\n",
      "当前覆盖率为：0.276677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：364\n",
      "当前精确率为：0.094918\n",
      "当前召回率为：0.270249\n",
      "当前流行度为：52.227493\n",
      "当前覆盖率为：0.276677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：365\n",
      "当前精确率为：0.094863\n",
      "当前召回率为：0.271563\n",
      "当前流行度为：52.260431\n",
      "当前覆盖率为：0.276677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：366\n",
      "当前精确率为：0.095014\n",
      "当前召回率为：0.271334\n",
      "当前流行度为：52.323108\n",
      "当前覆盖率为：0.276677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：367\n",
      "当前精确率为：0.095845\n",
      "当前召回率为：0.271522\n",
      "当前流行度为：52.339257\n",
      "当前覆盖率为：0.276982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：368\n",
      "当前精确率为：0.095720\n",
      "当前召回率为：0.271871\n",
      "当前流行度为：52.404979\n",
      "当前覆盖率为：0.276982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：369\n",
      "当前精确率为：0.095664\n",
      "当前召回率为：0.273844\n",
      "当前流行度为：52.429153\n",
      "当前覆盖率为：0.276982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：370\n",
      "当前精确率为：0.095608\n",
      "当前召回率为：0.273841\n",
      "当前流行度为：52.472723\n",
      "当前覆盖率为：0.276982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：371\n",
      "当前精确率为：0.095418\n",
      "当前召回率为：0.275799\n",
      "当前流行度为：52.561273\n",
      "当前覆盖率为：0.276982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：372\n",
      "当前精确率为：0.095161\n",
      "当前召回率为：0.275057\n",
      "当前流行度为：52.463528\n",
      "当前覆盖率为：0.278659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：373\n",
      "当前精确率为：0.094973\n",
      "当前召回率为：0.274618\n",
      "当前流行度为：52.490770\n",
      "当前覆盖率为：0.278659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：374\n",
      "当前精确率为：0.095120\n",
      "当前召回率为：0.274418\n",
      "当前流行度为：52.520875\n",
      "当前覆盖率为：0.278659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：375\n",
      "当前精确率为：0.095600\n",
      "当前召回率为：0.275316\n",
      "当前流行度为：52.592086\n",
      "当前覆盖率为：0.278659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：376\n",
      "当前精确率为：0.095346\n",
      "当前召回率为：0.274584\n",
      "当前流行度为：52.508730\n",
      "当前覆盖率为：0.279116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：377\n",
      "当前精确率为：0.095491\n",
      "当前召回率为：0.274579\n",
      "当前流行度为：52.499489\n",
      "当前覆盖率为：0.279116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：378\n",
      "当前精确率为：0.095503\n",
      "当前召回率为：0.274911\n",
      "当前流行度为：52.566488\n",
      "当前覆盖率为：0.279116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：379\n",
      "当前精确率为：0.095844\n",
      "当前召回率为：0.275004\n",
      "当前流行度为：52.612289\n",
      "当前覆盖率为：0.279116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：380\n",
      "当前精确率为：0.095592\n",
      "当前召回率为：0.274281\n",
      "当前流行度为：52.482717\n",
      "当前覆盖率为：0.283689\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：381\n",
      "当前精确率为：0.096129\n",
      "当前召回率为：0.274261\n",
      "当前流行度为：52.454613\n",
      "当前覆盖率为：0.283689\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：382\n",
      "当前精确率为：0.095877\n",
      "当前召回率为：0.273543\n",
      "当前流行度为：52.350085\n",
      "当前覆盖率为：0.285976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：383\n",
      "当前精确率为：0.095822\n",
      "当前召回率为：0.273220\n",
      "当前流行度为：52.316077\n",
      "当前覆盖率为：0.286433\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：384\n",
      "当前精确率为：0.096549\n",
      "当前召回率为：0.273059\n",
      "当前流行度为：52.349108\n",
      "当前覆盖率为：0.286433\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：385\n",
      "当前精确率为：0.096299\n",
      "当前召回率为：0.272349\n",
      "当前流行度为：52.243461\n",
      "当前覆盖率为：0.287500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：386\n",
      "当前精确率为：0.096244\n",
      "当前召回率为：0.272350\n",
      "当前流行度为：52.200602\n",
      "当前覆盖率为：0.287500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：387\n",
      "当前精确率为：0.095995\n",
      "当前召回率为：0.271647\n",
      "当前流行度为：52.071595\n",
      "当前覆盖率为：0.290854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：388\n",
      "当前精确率为：0.096327\n",
      "当前召回率为：0.272603\n",
      "当前流行度为：52.068576\n",
      "当前覆盖率为：0.290854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：389\n",
      "当前精确率为：0.096208\n",
      "当前召回率为：0.273188\n",
      "当前流行度为：52.154196\n",
      "当前覆盖率为：0.290854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：390\n",
      "当前精确率为：0.096026\n",
      "当前召回率为：0.272854\n",
      "当前流行度为：52.047839\n",
      "当前覆盖率为：0.292378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：391\n",
      "当前精确率为：0.096164\n",
      "当前召回率为：0.273059\n",
      "当前流行度为：52.090748\n",
      "当前覆盖率为：0.292378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：392\n",
      "当前精确率为：0.095982\n",
      "当前召回率为：0.274913\n",
      "当前流行度为：51.999509\n",
      "当前覆盖率为：0.293750\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：393\n",
      "当前精确率为：0.095992\n",
      "当前召回率为：0.275486\n",
      "当前流行度为：52.045439\n",
      "当前覆盖率为：0.293750\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：394\n",
      "当前精确率为：0.095749\n",
      "当前召回率为：0.274787\n",
      "当前流行度为：51.993102\n",
      "当前覆盖率为：0.294055\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：395\n",
      "当前精确率为：0.095570\n",
      "当前召回率为：0.274724\n",
      "当前流行度为：51.995145\n",
      "当前覆盖率为：0.294055\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：396\n",
      "当前精确率为：0.095328\n",
      "当前召回率为：0.274030\n",
      "当前流行度为：51.879627\n",
      "当前覆盖率为：0.295122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：397\n",
      "当前精确率为：0.095340\n",
      "当前召回率为：0.273569\n",
      "当前流行度为：51.828482\n",
      "当前覆盖率为：0.295122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：398\n",
      "当前精确率为：0.095477\n",
      "当前召回率为：0.273675\n",
      "当前流行度为：51.849579\n",
      "当前覆盖率为：0.295122\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：399\n",
      "当前精确率为：0.095363\n",
      "当前召回率为：0.273992\n",
      "当前流行度为：51.760232\n",
      "当前覆盖率为：0.295274\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：400\n",
      "当前精确率为：0.095125\n",
      "当前召回率为：0.273307\n",
      "当前流行度为：51.644393\n",
      "当前覆盖率为：0.297104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：401\n",
      "当前精确率为：0.095075\n",
      "当前召回率为：0.272937\n",
      "当前流行度为：51.705879\n",
      "当前覆盖率为：0.297104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：402\n",
      "当前精确率为：0.094838\n",
      "当前召回率为：0.272258\n",
      "当前流行度为：51.735280\n",
      "当前覆盖率为：0.297104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：403\n",
      "当前精确率为：0.094789\n",
      "当前召回率为：0.271667\n",
      "当前流行度为：51.615093\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：404\n",
      "当前精确率为：0.095173\n",
      "当前召回率为：0.271702\n",
      "当前流行度为：51.642097\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：405\n",
      "当前精确率为：0.094938\n",
      "当前召回率为：0.271031\n",
      "当前流行度为：51.686870\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：406\n",
      "当前精确率为：0.094889\n",
      "当前召回率为：0.271841\n",
      "当前流行度为：51.700511\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：407\n",
      "当前精确率为：0.094840\n",
      "当前召回率为：0.272402\n",
      "当前流行度为：51.720534\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：408\n",
      "当前精确率为：0.094608\n",
      "当前召回率为：0.271734\n",
      "当前流行度为：51.733719\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：409\n",
      "当前精确率为：0.094682\n",
      "当前召回率为：0.271885\n",
      "当前流行度为：51.758514\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：410\n",
      "当前精确率为：0.094451\n",
      "当前召回率为：0.271221\n",
      "当前流行度为：51.762091\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：411\n",
      "当前精确率为：0.094221\n",
      "当前召回率为：0.270561\n",
      "当前流行度为：51.795517\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：412\n",
      "当前精确率为：0.094417\n",
      "当前召回率为：0.270208\n",
      "当前流行度为：51.826656\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：413\n",
      "当前精确率为：0.094431\n",
      "当前召回率为：0.270434\n",
      "当前流行度为：51.879255\n",
      "当前覆盖率为：0.300000\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：414\n",
      "当前精确率为：0.094384\n",
      "当前召回率为：0.271593\n",
      "当前流行度为：51.784861\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：415\n",
      "当前精确率为：0.094157\n",
      "当前召回率为：0.270938\n",
      "当前流行度为：51.845560\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：416\n",
      "当前精确率为：0.093930\n",
      "当前召回率为：0.270287\n",
      "当前流行度为：51.896652\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：417\n",
      "当前精确率为：0.094245\n",
      "当前召回率为：0.270538\n",
      "当前流行度为：51.937488\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：418\n",
      "当前精确率为：0.094797\n",
      "当前召回率为：0.270369\n",
      "当前流行度为：51.971070\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：419\n",
      "当前精确率为：0.094869\n",
      "当前召回率为：0.270809\n",
      "当前流行度为：52.008669\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：420\n",
      "当前精确率为：0.094643\n",
      "当前召回率为：0.270164\n",
      "当前流行度为：52.095732\n",
      "当前覆盖率为：0.300152\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：421\n",
      "当前精确率为：0.094477\n",
      "当前召回率为：0.270116\n",
      "当前流行度为：52.007322\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：422\n",
      "当前精确率为：0.094254\n",
      "当前召回率为：0.269476\n",
      "当前流行度为：52.022174\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：423\n",
      "当前精确率为：0.094149\n",
      "当前召回率为：0.269785\n",
      "当前流行度为：52.102973\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：424\n",
      "当前精确率为：0.094693\n",
      "当前召回率为：0.269686\n",
      "当前流行度为：52.133213\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：425\n",
      "当前精确率为：0.094471\n",
      "当前召回率为：0.269052\n",
      "当前流行度为：52.215076\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：426\n",
      "当前精确率为：0.095012\n",
      "当前召回率为：0.268817\n",
      "当前流行度为：52.256355\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：427\n",
      "当前精确率为：0.094848\n",
      "当前召回率为：0.270529\n",
      "当前流行度为：52.332511\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：428\n",
      "当前精确率为：0.094685\n",
      "当前召回率为：0.270130\n",
      "当前流行度为：52.389854\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：429\n",
      "当前精确率为：0.094464\n",
      "当前召回率为：0.269501\n",
      "当前流行度为：52.443840\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：430\n",
      "当前精确率为：0.094593\n",
      "当前召回率为：0.269608\n",
      "当前流行度为：52.477692\n",
      "当前覆盖率为：0.300915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：431\n",
      "当前精确率为：0.094374\n",
      "当前召回率为：0.268983\n",
      "当前流行度为：52.407732\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：432\n",
      "当前精确率为：0.094618\n",
      "当前召回率为：0.270212\n",
      "当前流行度为：52.403026\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：433\n",
      "当前精确率为：0.094515\n",
      "当前召回率为：0.270248\n",
      "当前流行度为：52.417742\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：434\n",
      "当前精确率为：0.094470\n",
      "当前召回率为：0.270316\n",
      "当前流行度为：52.463439\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：435\n",
      "当前精确率为：0.094253\n",
      "当前召回率为：0.269695\n",
      "当前流行度为：52.425707\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：436\n",
      "当前精确率为：0.094438\n",
      "当前召回率为：0.270147\n",
      "当前流行度为：52.478859\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：437\n",
      "当前精确率为：0.094394\n",
      "当前召回率为：0.270057\n",
      "当前流行度为：52.438060\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：438\n",
      "当前精确率为：0.094977\n",
      "当前召回率为：0.270032\n",
      "当前流行度为：52.467197\n",
      "当前覆盖率为：0.301372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：439\n",
      "当前精确率为：0.094761\n",
      "当前召回率为：0.269417\n",
      "当前流行度为：52.418069\n",
      "当前覆盖率为：0.303049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：440\n",
      "当前精确率为：0.094830\n",
      "当前召回率为：0.269321\n",
      "当前流行度为：52.425642\n",
      "当前覆盖率为：0.303049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：441\n",
      "当前精确率为：0.094615\n",
      "当前召回率为：0.268710\n",
      "当前流行度为：52.458407\n",
      "当前覆盖率为：0.303049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：442\n",
      "当前精确率为：0.094457\n",
      "当前召回率为：0.269234\n",
      "当前流行度为：52.463309\n",
      "当前覆盖率为：0.303354\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：443\n",
      "当前精确率为：0.095090\n",
      "当前召回率为：0.268906\n",
      "当前流行度为：52.483312\n",
      "当前覆盖率为：0.303354\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：444\n",
      "当前精确率为：0.094876\n",
      "当前召回率为：0.268300\n",
      "当前流行度为：52.500805\n",
      "当前覆盖率为：0.303354\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：445\n",
      "当前精确率为：0.094775\n",
      "当前召回率为：0.268821\n",
      "当前流行度为：52.507208\n",
      "当前覆盖率为：0.303354\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：446\n",
      "当前精确率为：0.094563\n",
      "当前召回率为：0.268218\n",
      "当前流行度为：52.535835\n",
      "当前覆盖率为：0.303354\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：447\n",
      "当前精确率为：0.094631\n",
      "当前召回率为：0.268004\n",
      "当前流行度为：52.579659\n",
      "当前覆盖率为：0.303354\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：448\n",
      "当前精确率为：0.094420\n",
      "当前召回率为：0.267406\n",
      "当前流行度为：52.582662\n",
      "当前覆盖率为：0.303659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：449\n",
      "当前精确率为：0.094488\n",
      "当前召回率为：0.266963\n",
      "当前流行度为：52.506308\n",
      "当前覆盖率为：0.303659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：450\n",
      "当前精确率为：0.094389\n",
      "当前召回率为：0.267004\n",
      "当前流行度为：52.565239\n",
      "当前覆盖率为：0.303659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：451\n",
      "当前精确率为：0.094180\n",
      "当前召回率为：0.266412\n",
      "当前流行度为：52.460438\n",
      "当前覆盖率为：0.307774\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：452\n",
      "当前精确率为：0.094082\n",
      "当前召回率为：0.266708\n",
      "当前流行度为：52.512738\n",
      "当前覆盖率为：0.307774\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：453\n",
      "当前精确率为：0.093874\n",
      "当前召回率为：0.266119\n",
      "当前流行度为：52.410778\n",
      "当前覆盖率为：0.308994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：454\n",
      "当前精确率为：0.094383\n",
      "当前召回率为：0.265980\n",
      "当前流行度为：52.434708\n",
      "当前覆盖率为：0.308994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：455\n",
      "当前精确率为：0.094176\n",
      "当前召回率为：0.265396\n",
      "当前流行度为：52.345126\n",
      "当前覆盖率为：0.310671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：456\n",
      "当前精确率为：0.094243\n",
      "当前召回率为：0.267007\n",
      "当前流行度为：52.366957\n",
      "当前覆盖率为：0.310671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：457\n",
      "当前精确率为：0.094475\n",
      "当前召回率为：0.266766\n",
      "当前流行度为：52.408550\n",
      "当前覆盖率为：0.310671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：458\n",
      "当前精确率为：0.094323\n",
      "当前召回率为：0.268367\n",
      "当前流行度为：52.426108\n",
      "当前覆盖率为：0.310671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：459\n",
      "当前精确率为：0.094390\n",
      "当前召回率为：0.268387\n",
      "当前流行度为：52.470332\n",
      "当前覆盖率为：0.310671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：460\n",
      "当前精确率为：0.094239\n",
      "当前召回率为：0.268891\n",
      "当前流行度为：52.483005\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：461\n",
      "当前精确率为：0.094035\n",
      "当前召回率为：0.268307\n",
      "当前流行度为：52.498389\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：462\n",
      "当前精确率为：0.093939\n",
      "当前召回率为：0.268592\n",
      "当前流行度为：52.500178\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：463\n",
      "当前精确率为：0.093737\n",
      "当前召回率为：0.268012\n",
      "当前流行度为：52.566431\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：464\n",
      "当前精确率为：0.093588\n",
      "当前召回率为：0.267743\n",
      "当前流行度为：52.630134\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：465\n",
      "当前精确率为：0.093817\n",
      "当前召回率为：0.267781\n",
      "当前流行度为：52.653188\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：466\n",
      "当前精确率为：0.093991\n",
      "当前召回率为：0.269352\n",
      "当前流行度为：52.661604\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：467\n",
      "当前精确率为：0.093951\n",
      "当前召回率为：0.269846\n",
      "当前流行度为：52.699052\n",
      "当前覆盖率为：0.310823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：468\n",
      "当前精确率为：0.093750\n",
      "当前召回率为：0.269270\n",
      "当前流行度为：52.682281\n",
      "当前覆盖率为：0.311585\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：469\n",
      "当前精确率为：0.093603\n",
      "当前召回率为：0.269406\n",
      "当前流行度为：52.579174\n",
      "当前覆盖率为：0.316311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：470\n",
      "当前精确率为：0.093457\n",
      "当前召回率为：0.269137\n",
      "当前流行度为：52.581771\n",
      "当前覆盖率为：0.316311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：471\n",
      "当前精确率为：0.093259\n",
      "当前召回率为：0.268566\n",
      "当前流行度为：52.571831\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：472\n",
      "当前精确率为：0.093538\n",
      "当前召回率为：0.268498\n",
      "当前流行度为：52.565588\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：473\n",
      "当前精确率为：0.093499\n",
      "当前召回率为：0.270045\n",
      "当前流行度为：52.561274\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：474\n",
      "当前精确率为：0.093354\n",
      "当前召回率为：0.271585\n",
      "当前流行度为：52.630184\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：475\n",
      "当前精确率为：0.093895\n",
      "当前召回率为：0.271317\n",
      "当前流行度为：52.649805\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：476\n",
      "当前精确率为：0.093908\n",
      "当前召回率为：0.271797\n",
      "当前流行度为：52.686518\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：477\n",
      "当前精确率为：0.093711\n",
      "当前召回率为：0.271228\n",
      "当前流行度为：52.709030\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：478\n",
      "当前精确率为：0.093672\n",
      "当前召回率为：0.271557\n",
      "当前流行度为：52.749859\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：479\n",
      "当前精确率为：0.093476\n",
      "当前召回率为：0.270990\n",
      "当前流行度为：52.814473\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：480\n",
      "当前精确率为：0.093333\n",
      "当前召回率为：0.271120\n",
      "当前流行度为：52.861109\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：481\n",
      "当前精确率为：0.093295\n",
      "当前召回率为：0.271123\n",
      "当前流行度为：52.889360\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：482\n",
      "当前精确率为：0.093102\n",
      "当前召回率为：0.270561\n",
      "当前流行度为：52.942080\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：483\n",
      "当前精确率为：0.092961\n",
      "当前召回率为：0.270208\n",
      "当前流行度为：52.999135\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：484\n",
      "当前精确率为：0.092975\n",
      "当前召回率为：0.271027\n",
      "当前流行度为：53.029354\n",
      "当前覆盖率为：0.316921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：485\n",
      "当前精确率为：0.093247\n",
      "当前召回率为：0.271396\n",
      "当前流行度为：53.019036\n",
      "当前覆盖率为：0.317073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：486\n",
      "当前精确率为：0.093621\n",
      "当前召回率为：0.272252\n",
      "当前流行度为：53.015807\n",
      "当前覆盖率为：0.317073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：487\n",
      "当前精确率为：0.094507\n",
      "当前召回率为：0.271916\n",
      "当前流行度为：53.029327\n",
      "当前覆盖率为：0.317073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：488\n",
      "当前精确率为：0.094416\n",
      "当前召回率为：0.273408\n",
      "当前流行度为：53.028704\n",
      "当前覆盖率为：0.317073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：489\n",
      "当前精确率为：0.094223\n",
      "当前召回率为：0.272849\n",
      "当前流行度为：52.957684\n",
      "当前覆盖率为：0.317378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：490\n",
      "当前精确率为：0.094133\n",
      "当前召回率为：0.274333\n",
      "当前流行度为：52.979199\n",
      "当前覆盖率为：0.317378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：491\n",
      "当前精确率为：0.093941\n",
      "当前召回率为：0.273774\n",
      "当前流行度为：52.880259\n",
      "当前覆盖率为：0.319512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：492\n",
      "当前精确率为：0.093750\n",
      "当前召回率为：0.273218\n",
      "当前流行度为：52.879944\n",
      "当前覆盖率为：0.319512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：493\n",
      "当前精确率为：0.093915\n",
      "当前召回率为：0.274692\n",
      "当前流行度为：52.885258\n",
      "当前覆盖率为：0.319512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：494\n",
      "当前精确率为：0.094636\n",
      "当前召回率为：0.276054\n",
      "当前流行度为：52.869549\n",
      "当前覆盖率为：0.319512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：495\n",
      "当前精确率为：0.094495\n",
      "当前召回率为：0.275833\n",
      "当前流行度为：52.789712\n",
      "当前覆盖率为：0.320274\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：496\n",
      "当前精确率为：0.095665\n",
      "当前召回率为：0.275663\n",
      "当前流行度为：52.781668\n",
      "当前覆盖率为：0.320274\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：497\n",
      "当前精确率为：0.095473\n",
      "当前召回率为：0.275108\n",
      "当前流行度为：52.713747\n",
      "当前覆盖率为：0.320274\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：498\n",
      "当前精确率为：0.095281\n",
      "当前召回率为：0.274556\n",
      "当前流行度为：52.689724\n",
      "当前覆盖率为：0.320427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：499\n",
      "当前精确率为：0.095792\n",
      "当前召回率为：0.274615\n",
      "当前流行度为：52.716899\n",
      "当前覆盖率为：0.320427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：500\n",
      "当前精确率为：0.095600\n",
      "当前召回率为：0.274066\n",
      "当前流行度为：52.657415\n",
      "当前覆盖率为：0.320427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：501\n",
      "当前精确率为：0.095409\n",
      "当前召回率为：0.273519\n",
      "当前流行度为：52.588787\n",
      "当前覆盖率为：0.320579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：502\n",
      "当前精确率为：0.095319\n",
      "当前召回率为：0.273373\n",
      "当前流行度为：52.637415\n",
      "当前覆盖率为：0.320579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：503\n",
      "当前精确率为：0.095527\n",
      "当前召回率为：0.273965\n",
      "当前流行度为：52.602351\n",
      "当前覆盖率为：0.320732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：504\n",
      "当前精确率为：0.095387\n",
      "当前召回率为：0.274414\n",
      "当前流行度为：52.654975\n",
      "当前覆盖率为：0.320732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：505\n",
      "当前精确率为：0.095792\n",
      "当前召回率为：0.274280\n",
      "当前流行度为：52.676153\n",
      "当前覆盖率为：0.320732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：506\n",
      "当前精确率为：0.095751\n",
      "当前召回率为：0.274479\n",
      "当前流行度为：52.700015\n",
      "当前覆盖率为：0.320732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：507\n",
      "当前精确率为：0.096252\n",
      "当前召回率为：0.274551\n",
      "当前流行度为：52.735074\n",
      "当前覆盖率为：0.320732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：508\n",
      "当前精确率为：0.096309\n",
      "当前召回率为：0.275104\n",
      "当前流行度为：52.737810\n",
      "当前覆盖率为：0.320732\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：509\n",
      "当前精确率为：0.096120\n",
      "当前召回率为：0.274564\n",
      "当前流行度为：52.655663\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：510\n",
      "当前精确率为：0.095980\n",
      "当前召回率为：0.274418\n",
      "当前流行度为：52.650309\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：511\n",
      "当前精确率为：0.095841\n",
      "当前召回率为：0.274272\n",
      "当前流行度为：52.661952\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：512\n",
      "当前精确率为：0.095850\n",
      "当前召回率为：0.275039\n",
      "当前流行度为：52.607436\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：513\n",
      "当前精确率为：0.095906\n",
      "当前召回率为：0.275388\n",
      "当前流行度为：52.641242\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：514\n",
      "当前精确率为：0.096060\n",
      "当前召回率为：0.275900\n",
      "当前流行度为：52.670053\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：515\n",
      "当前精确率为：0.096456\n",
      "当前召回率为：0.275607\n",
      "当前流行度为：52.687733\n",
      "当前覆盖率为：0.322561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：516\n",
      "当前精确率为：0.096269\n",
      "当前召回率为：0.275073\n",
      "当前流行度为：52.630295\n",
      "当前覆盖率为：0.323171\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：517\n",
      "当前精确率为：0.096132\n",
      "当前召回率为：0.274602\n",
      "当前流行度为：52.558138\n",
      "当前覆盖率为：0.324085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：518\n",
      "当前精确率为：0.095946\n",
      "当前召回率为：0.274071\n",
      "当前流行度为：52.483460\n",
      "当前覆盖率为：0.325915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：519\n",
      "当前精确率为：0.095761\n",
      "当前召回率为：0.273543\n",
      "当前流行度为：52.449099\n",
      "当前覆盖率为：0.325915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：520\n",
      "当前精确率为：0.095817\n",
      "当前召回率为：0.274940\n",
      "当前流行度为：52.460158\n",
      "当前覆盖率为：0.325915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：521\n",
      "当前精确率为：0.095873\n",
      "当前召回率为：0.275784\n",
      "当前流行度为：52.479813\n",
      "当前覆盖率为：0.325915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：522\n",
      "当前精确率为：0.095690\n",
      "当前召回率为：0.275255\n",
      "当前流行度为：52.389621\n",
      "当前覆盖率为：0.328811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：523\n",
      "当前精确率为：0.095602\n",
      "当前召回率为：0.275685\n",
      "当前流行度为：52.416601\n",
      "当前覆盖率为：0.328811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：524\n",
      "当前精确率为：0.095611\n",
      "当前召回率为：0.275383\n",
      "当前流行度为：52.335940\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：525\n",
      "当前精确率为：0.095429\n",
      "当前召回率为：0.274859\n",
      "当前流行度为：52.324443\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：526\n",
      "当前精确率为：0.095295\n",
      "当前召回率为：0.274812\n",
      "当前流行度为：52.308284\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：527\n",
      "当前精确率为：0.095304\n",
      "当前召回率为：0.275239\n",
      "当前流行度为：52.352386\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：528\n",
      "当前精确率为：0.095597\n",
      "当前召回率为：0.275832\n",
      "当前流行度为：52.351624\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：529\n",
      "当前精确率为：0.095841\n",
      "当前召回率为：0.276084\n",
      "当前流行度为：52.383142\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：530\n",
      "当前精确率为：0.096132\n",
      "当前召回率为：0.276192\n",
      "当前流行度为：52.383976\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：531\n",
      "当前精确率为：0.096704\n",
      "当前召回率为：0.276003\n",
      "当前流行度为：52.411643\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：532\n",
      "当前精确率为：0.096570\n",
      "当前召回率为：0.275752\n",
      "当前流行度为：52.459271\n",
      "当前覆盖率为：0.329878\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：533\n",
      "当前精确率为：0.096388\n",
      "当前召回率为：0.275235\n",
      "当前流行度为：52.411083\n",
      "当前覆盖率为：0.330335\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：534\n",
      "当前精确率为：0.096629\n",
      "当前召回率为：0.274923\n",
      "当前流行度为：52.427963\n",
      "当前覆盖率为：0.330335\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：535\n",
      "当前精确率为：0.096449\n",
      "当前召回率为：0.274409\n",
      "当前流行度为：52.475434\n",
      "当前覆盖率为：0.330335\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：536\n",
      "当前精确率为：0.096409\n",
      "当前召回率为：0.275296\n",
      "当前流行度为：52.408876\n",
      "当前覆盖率为：0.330945\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：537\n",
      "当前精确率为：0.096322\n",
      "当前召回率为：0.276646\n",
      "当前流行度为：52.453692\n",
      "当前覆盖率为：0.330945\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：538\n",
      "当前精确率为：0.096190\n",
      "当前召回率为：0.276596\n",
      "当前流行度为：52.361352\n",
      "当前覆盖率为：0.331555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：539\n",
      "当前精确率为：0.096011\n",
      "当前召回率为：0.276083\n",
      "当前流行度为：52.271535\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：540\n",
      "当前精确率为：0.096019\n",
      "当前召回率为：0.276245\n",
      "当前流行度为：52.299736\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：541\n",
      "当前精确率为：0.095841\n",
      "当前召回率为：0.275734\n",
      "当前流行度为：52.352278\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：542\n",
      "当前精确率为：0.096863\n",
      "当前召回率为：0.275537\n",
      "当前流行度为：52.357717\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：543\n",
      "当前精确率为：0.096777\n",
      "当前召回率为：0.275490\n",
      "当前流行度为：52.405400\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：544\n",
      "当前精确率为：0.096691\n",
      "当前召回率为：0.275111\n",
      "当前流行度为：52.434894\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：545\n",
      "当前精确率为：0.096743\n",
      "当前召回率为：0.274779\n",
      "当前流行度为：52.441757\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：546\n",
      "当前精确率为：0.097665\n",
      "当前召回率为：0.274781\n",
      "当前流行度为：52.460545\n",
      "当前覆盖率为：0.333384\n",
      "\n",
      "\n",
      "用时：605.269673秒\n"
     ]
    }
   ],
   "source": [
    "'''\n",
    "obj_user：测试集中用户\n",
    "result：obj_user在测试集中的数据部分\n",
    "train_obj_user：obj_user在训练集中的部分\n",
    "train_items_obj_user：obj_user在训练集中交互过的物品名单\n",
    "all_Kneighbors_set：train_items_obj_user中每一项物品的K近邻的并集（没有重复）\n",
    "rank：给obj_user待推荐的物品的偏好\n",
    "item1,item2分别表示给obj_user推荐的物品和obj_user在测试集中的交互物品，即预测和标签\n",
    "Item1表示累计已经推荐的物品名单（所有item1的并）\n",
    "recall，precision，popularity分别表示obj_user的预测指标，首字母大写表示总的平均预测情况\n",
    "'''\n",
    "start=time.time()\n",
    "#定义在预测过程中需要更新的评价指标\n",
    "Recall=0\n",
    "Precision=0\n",
    "Popularity=0\n",
    "Number=1\n",
    "Item1=set()       #最终推荐物品名单\n",
    "Item2=set()       #测试集用户的行为名单\n",
    "for obj_user, result in test.groupby('userId'):\n",
    "    result=result.reset_index(drop=False)\n",
    "    train_obj_user=train[train['userId']==obj_user]\n",
    "    train_items_obj_user=train_obj_user['movieId'].unique()\n",
    "    all_Kneighbors_set=set()\n",
    "    for train_item_obj_user in train_items_obj_user:\n",
    "        df_W_train_item_obj_user=df_W[df_W['item1']==train_item_obj_user]\n",
    "        temp_Kneighbors,temp_relevance=get_Kneighbors(df_W_train_item_obj_user,100)\n",
    "        all_Kneighbors_set=all_Kneighbors_set.union(set(temp_Kneighbors))\n",
    "        \n",
    "    rank={}\n",
    "    for item in all_Kneighbors_set:\n",
    "\n",
    "        #首先判断item是否能被推荐,如果item已经在训练集中被obj_user交互过，那么它将不会被推荐：\n",
    "        if item in set(train_items_obj_user):\n",
    "            continue\n",
    "        #其次判断obj_user是否对item感兴趣，即Preference中是否存在键值(obj_user,item)。若未出现，说明obj_user对item的感兴趣程度为0，则也不予推荐。\n",
    "        if (obj_user,item) not in Preference.keys():\n",
    "            #print(\"用户%d对物品%d不感兴趣\"%(obj_user,item))\n",
    "            continue\n",
    "        #从Preference中获取obj_user对item的感兴趣程度，放在rank里\n",
    "        if item not in rank:\n",
    "            rank[item]=0\n",
    "        rank[item]=Preference[obj_user,item]\n",
    "        \n",
    "    item1=getTopK(rank,40)\n",
    "    temp=test[test['userId']==obj_user]\n",
    "    item2=list(temp['movieId'].unique())\n",
    "    \n",
    "    if len(item1)==0:\n",
    "        print(\"无法对用户%d做出推荐，因为该用户的感兴趣电影数为0\"%obj_user)\n",
    "        continue\n",
    "        \n",
    "    Item1=Item1.union(set(item1))\n",
    "    Item2=Item2.union(set(item2))    \n",
    "    popularity=Popularity_func(item1,df_movie_popularity)\n",
    "    recall=Recall_func(item1,item2)\n",
    "    precision=Precision_func(item1,item2)    \n",
    "    \n",
    "    Coverage=Coverage_func(Item1,Item2) \n",
    "    Popularity=(Number-1)*Popularity/Number + popularity/Number\n",
    "    Recall=(Number-1)*Recall/Number + recall/Number\n",
    "    Precision=(Number-1)*Precision/Number + precision/Number\n",
    "    \n",
    "#     print(\"该用户精确率为：%f\"%precision)\n",
    "#     print(\"该用户召回率为：%f\"%recall)\n",
    "#     print(\"该用户的流行度为：%f\"%popularity)\n",
    "    print(\"已经处理过的测试集用户数目为：%d\"%Number)  \n",
    "    print(\"当前精确率为：%f\"%Precision)\n",
    "    print(\"当前召回率为：%f\"%Recall)\n",
    "    print(\"当前流行度为：%f\"%Popularity)  \n",
    "    print(\"当前覆盖率为：%f\"%Coverage)\n",
    "    print('\\n')\n",
    "    Number+=1\n",
    "        \n",
    "end=time.time()\n",
    "print(\"用时：%f秒\"%(end-start))\n",
    "        \n",
    "        "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
